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

《Oracle PL/SQL 完全自学手册》读书笔记 2.5 PL/SQL基本结构

2013-04-05 22:34 981 查看
PL/SQL程序都是以(BLOCK)为基本单位,整个PL/SQL块分为3部分:声明部分(以DECLARE开头)、执行部分(以BEGIN开头)和异常处理部分(以EXCEPTION开头)。其中,执行部分是必须的,其他两个部分可选。无论PL/SQL程序段的代码量有多大,其基本结构就是由这3部分组成,而且每条语句均由分号隔开。其结构语法如下:

声明部分,以DECLARE开头:

DECLARE
--DECLARE STATEMENT执行部分,以BEGIN开头,以END结束:
BEGIN
--EXECUTE STATEMENT异常处理部分,以EXCEPTION开头:
EXCEPTION
WHEN EXCEPTIONCASE THEN
--EXCEPTION HANDLE
END;
其用法如下:
create table TESTQUARTZ
(
CARNO VARCHAR2(30),
CARINFOID NUMBER
)
DECLARE
v_carinfoID NUMBER(10):=10;
v_carno VARCHAR2(30);
BEGIN
DELETE FROM Testquartz;
INSERT INTO Testquartz(CARINFOID,CARNO) VALUES(v_carinfoID,'00001');
SELECT carno
INTO v_CARNO
FROM Testquartz
WHERE CARINFOID=v_carinfoID;
DBMS_OUTPUT.put_line(v_carno);
EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line('无数据!');
END;
2.6 常量和变量
在PL/SQL中常量和变量必须是在声明后才可以使用,向前引用(Forward Reference)是不允许的。

2.6.1 常量

定义常量的语法格式如下:

常量名 CINSTANT 类型标示符 [NOT NULL]:=值;

常量,包括后面的变量名都必须以字母开头,不能有空格,长度不能超过30个字符,同时不能和保留字同名,常(变)量名称不区分大小写,在字母后面可以带数字或特殊字符。括号内的NOT NULL 
为 可选参数,若选用,表明该常(变)量不能为空。

例如,下面的代码定义了名为PI的数字型常量,长度为9:

DECLARE 
    pi CONSTANT NUMBER(9):=3.1415926;
BEGIN
    COMMIT;
END;

SQL> 

 26  /

 

PL/SQL procedure successfully completed

 

SQL> 

2.6.2 变量

变量可以是任何SQL类型,如CHAR\DATE或NUMBER等,也可以是PL/SQL、BOOLEAN或BINARY_INTEGER等

基本数据类型变量的定义语法如下:

变量名  类型标示符 [NOT NULL]:=NULL;

例如,下面代码定义了名为age的数字型变量,长度为3,初始值为26:

DECLARE 
    age NUMBER(3):=26;
BEGIN
    COMMIT;
END;

/

此外,前面还介绍了可以使用%TYPE和%ROWTYPE两种方法来定义变量的类型,使之和数据表中的字段或与记录的数据类型一致。这样,当数据表的字段或记录的数据类型修改后,PL/SQL程序中相应变量的类型也自动修改。

使用%TYPE可以使变量获得字段的数据类型,使用%ROWTYPE可以使变量获得整个记录的数据类型。两者定义区别在于,前者是“变量名  数据表.列名%TYPE”,而后者是“ 变量名 数据表%ROWTYPE”.

%ROWTYPE的用法示例如下

DECLARE
myTable emp%ROWTYPE;
BEGIN
SELECT * INTO myTable FROM emp WHERE ROWNUM=1;
dbms_output.put_line(myTable.ename);
END;
SQL>
12  /

7369

PL/SQL procedure successfully completed

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