1、标识符命名规则
当在 PL/SQL 中使用标识符定义变量、常量时,标识符名称必须以字符开始,并且长度不能超过 30 个字符。另外,为了提高程序的可读性,Oracle 建议用户按照以下规则定义各种标识符:
--当定义变量时,建议使用 v_ 作为前缀,例如 v_sal, v_job等。
--当定义常量时,建议使用 c_ 作为前缀,例如 c_rate 。
--当定义游标时,建议使用 _cursor 作为后缀,例如 emp_cursor 。
--当定义例外时,建议使用 e_ 作为前缀,例如 e_integrity_error。
--当定义 PL/SQL 表类型时,建议使用 _table_type 作为后缀,例如 sal_table_type。
--当定义 PL/SQL 表变量时,建议使用 _table 作为后缀,例如 sal_table。
--当定义 PL/SQL 记录类型时,建议使用 _record_type 作为后缀,例如 emp_record_type。
--当定义 PL/SQL 记录变量时,建议使用 _record 作为后缀,例如 emp_record。
2、大小写规则
当在 PL/SQL 块中编写 SQL 语句和 PL/SQL 语句时,语句既可以使用大写格式,也可以使用小写格式。但是,为了提高程序的可读性和性能,Oracle 建议用户按照以下大小写规则编码:
--SQL 关键字采用大写格式,例如 SELECT, UPDATE, SET, WHERE等。
--PL/SQL 关键字采用大写格式,例如 DECLARE, BEGIN, END等。
--数据类型采用大写格式,例如 INT, VARCHAR2,DATE等。
--标识符和参数采用小写格式,例如 v_sal, c_rate等。
--数据库对象和列采用小写格式,例如 emp, sal, ename等。
3、代码缩进
类似于其他编程语言,当编写 PL/SQL 块时,为了提高程序可读性,同级代码应该对其,而下一级代码则应该缩进。
4、嵌套块和变量范围
嵌套块是指嵌入在一个 PL/SQL 块中的另一个 PL/SQL 块。其中被嵌入的块称为字块,而包含子块的 PL/SQL 块则被称为主块。当使用嵌套块时,注意,子块可以引用主块所定义的任何标识符,但主块却不能引用子块的任何标识符。也就是说,子块定义的标识符是局部标识符(局部变量),而主块定义的标识符是全局标识符(全局变量)。
...
x BINARY_INTEGER;
BEGIN
...
DECLARE
y NUMBER;
BEGIN
...
END;
...
END;
x 为全局变量,y 为局部变量。
5、在 PL/SQL 块中可以使用的 SQL 函数
当编写 PL/SQL 代码时,可以直接应用大多数的单行 SQL 函数。这些 SQL 函数 包括单行数字函数(例如 ROUND)、单行字符函数(例如 UPPER)、转换函数(例如 TO_CHAR)以及各种日期函数(例如 MONTH_BETWEEN)。但是,用户需注意,某些 SQL 函数只能在 SQL 语句中引用,而不能直接在 PL/SQL 语句中引用,这些 SQL 函数包括 GREATEST, LEAST, DECODE以及所有分组函数(例如 SUM)。
--转自