1.PL/SQL块基本结构:
DECLARE
/*定义部分(定义常量、变量、复杂数据类型、游标)*/
BEGIN
/*执行部分(PL/SQL语句和SQL语句)*/
EXCEPTION
/*例外处理部分(处理运行错误)*/
只有执行部分才是必须的。
2.数据类型:标量类型、复合类型、参照类型和LOB类型
常用标量类型:VARCHAR2(n)、CHAR(n)、NUMBER(p,s)、DATE、TIMESTAMP、LONG和LONG RAW、BOOLEAN、BINARY_INTEGER、BINARY_FLOAT和BINARY_DOUBLE。
定义标量变量语法:
identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr]
identifier:用于指定常量或变量的名称
CONSTANT:用于指定常量。当定义常量时,必须指定它的初始值。
datatype:指定数据类型
NOT NULL:指定该项时,必须为其提供数值。
例如:
v_name VARCHAR2(10);
v_balance BINARY_FLOAT;
c_tax_rate CONSTANT NUMBER(3,2):=5.5;
v_valid BOOLEAN NOT NULL DEFAULT FALSE;
%TYPE属性
例:v_ename emp.ename%TYPE;
定义标识符规则:
当是用标识符定义变量、常量时,每行只能定义一个标识符
当是用标识符定义变量、常量时,标识符名称必须要以阿拉伯字符(A~Z、a~z)开始,并且最大长度为30个字符。如果以其他字符开始,需要使用双引号引住
当是用标识符定义变量、常量时,标识符名称只能使用符号A~Z、a~z、0~9、_、$、#。如果使用其他字符,使用双引号引住
当是用标识符定义变量、常量时,标识符名称不能使用Oracle关键字。如果使用,则用双引号引住
标识符命名规则(建议):
当定义变量时,建议使用v_最为前缀
当定义常量时,建议使用c_作为前缀
当定义游标时,建议使用_cursor作为后缀
当定义例外时,建议使用e_作为前缀
当定义PL/SQL表类型时,建议使用_table_type作为后缀
当定义PL/SQL表变量时,建议使用_table作为后缀
当定义PL/SQL记录类型时,建议使用_record_type作为后缀
当定义PL/SQL记录变量时,建议使用_record作为后缀
大小写规则:
SQL关键字采用大写格式
PL/SQL关键字采用大写格式
数据类型采用大写格式
标识符和参数采用消协格式
数据库对象和列采用小写格式
例:
SQL> DECLARE
2 v_ename VARCHAR2(5);
3 BEGIN
4 SELECT ename INTO v_ename FROM emp WHERE empno=&no;
5 dbms_output.put_line(v_ename);
6 EXCEPTION
7 WHEN NO_DATA_FOUND THEN
8 dbms_output.put_line('please input the correct empno!');
9 END;
10 /
输入 no 的值: 7900
原值 4: SELECT ename INTO v_ename FROM emp WHERE empno=&no;
新值 4: SELECT ename INTO v_ename FROM emp WHERE empno=7900;
JAMES
PL/SQL 过程已成功完成。