您的位置:首页 > 数据库 > Oracle

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

2017-05-09 09:44 253 查看
知识点的梳理:
默认情况下,DBMS_OUTPUT.put_line();无法输出语句,因为Oralce关闭了输出显示。
用户可输入"set serveroutput on"来开启显示
PL/SQL语法中DECLARE用于声明变量,BEGIN用于编写语句,EXCEPTION用于异常处理,最后必须通过END标记完结;
使用"表.字段%TYPE"可以按照指定表中的列类型声明变量,使用"表%ROWTYPE",则是按照表的结构声明变量;
PL/SQL语法中的数据类型分为标量类型,复合类型,引用类型,LOB类型;

PL/SQL提供了很多数据类型,建议以NUMBER,VARCHAR2,DATE,CLOB数据类型为主;
其他的子数据类型会在系统内部提供的子程序中出现;

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"



  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle