Oracle12C--PL/SQL简介(二十四)

来源:互联网 发布:系统策划 知乎 编辑:程序博客网 时间:2024/06/04 18:59

知识点的梳理:

  • 默认情况下,DBMS_OUTPUT.put_line();无法输出语句,因为Oralce关闭了输出显示。
  • 用户可输入"set serveroutput on"来开启显示
  • PL/SQL语法中DECLARE用于声明变量,BEGIN用于编写语句,EXCEPTION用于异常处理,最后必须通过END标记完结;
  • 使用"表.字段%TYPE"可以按照指定表中的列类型声明变量,使用"表%ROWTYPE",则是按照表的结构声明变量;
  • PL/SQL语法中的数据类型分为标量类型,复合类型,引用类型,LOB类型;
  • PL/SQL提供了很多数据类型,建议以NUMBERVARCHAR2DATECLOB数据类型为主;
    • 其他的子数据类型会在系统内部提供的子程序中出现;
  • PL/SQL提供了判断,循环语句的支持;
  • 可以在一个PL/SQL程序块的内部,定义若干个内部程序块;
  • PL/SQL中出现异常后,可以通过EXCEPTION捕获指定的异常,用户也可以利用RAISE_APPLICATION_ERROR手工抛出一个异常:

  

  • 简介
    • PL/SQL(Procedure Language/SQL)过程化语言
    • PL/SQL是Oracle对sql语言的过程化扩展 , 使sql支持判断,循环等这样PL/SQL和C , java都是同一类东西
      • 普通的SQL语句是逐一发送给数据库的,而PL/SQL可以一次性将多条SQL语句一起发送给数据库,减少网络流量;
      • 图示:

    • PL/SQL支持两种类型的程序,一种是匿名块程序,另一种是命名块程序。它们都有声明,执行,异常处理3分布组成。
      • 匿名块支持批脚本执行;
      • 命名块提供存储编程单元;
  • 语法与示例
    • PL/SQL语法结构:

 

Declare

--声明部分,例如:定义变量,常量,游标

Begin

--程序编写,sql语句

Exectpion

--异常处理

end

/

声明部分(DECLARE):包含变量定义,用户定义的PL/SQL类型,游标,引用的函数或过程;
执行部分(
BEGIN):包含变量赋值,对象初始化,条件结构,迭代结构,嵌套的PL/SQL匿名块,或是对局部或存储PL/SQL命名块的调用;
异常部分(
EXCEPTION):包含错误处理语句,该语句可以像执行部分一样使用所有项。
结束部分(
END):程序执行到END表示结束,分号用于结束匿名块,而正斜杠(/)执行块程序;

PL/SQL可以不做任何事情,但在PL/SQL编程中要求,执行块至少要有一条语句,即使这条语句只编写了一个NULL

例:编写不做任何工作的PL/SQL
begin

Null;

End;

/

  • 示例1:第一个PL/SQL程序

DECLARE

v_num NUMBER ;        -- 定义一个变量v_num

BEGIN

v_num := 30 ;                 -- 设置v_num的内容

DBMS_OUTPUT.put_line('V_NUM变量的内容是:' || v_num) ;

END ;

/

程序的输出结果是:"V_NUM变量的内容是30"
分析:此程序首先在
DECLARE部分定义了一个整型变量x,而后在begin部分中为这个整型变量赋值为30
之后进行了输出。

  • 示例2编写PL/SQL块,输入一个雇员编号,而后取得指定的雇员姓名

DECLARE

v_eno NUMBER ;

v_ename VARCHAR2(10) ;

BEGIN

v_eno := &empno ; --由键盘输入雇员编号

SELECT ename INTO v_ename FROM emp WHERE empno=v_eno ;

DBMS_OUTPUT.put_line('编号为:' || v_eno || '雇员的名字为:'|| v_ename) ;

END ;

/

效果:在对话框输入"7369"

  

 

0 0
原创粉丝点击