PL/SQL基本语法
PL/SQL是一种块结构的语言,这意味着PL/SQL程序被划分和编写代码的逻辑块。每块由三个子部分组成:
S.N. | 段和说明 |
---|---|
1 |
声明 此部分开头使用关键字DECLARE。它是一个可选的部分,并限定在该程序中使用的所有变量,游标,子程序,和其他元素。 |
2 |
可执行命令 此部分是封闭关键字BEGIN和END,这是一个强制性的部分。它由程序的可执行文件的PL/SQL语句。它应具有至少一个可执行的代码行,这可能仅仅是一个空命令,以指示什么都不执行。 |
3 |
异常处理 此部分开头使用关键字EXCEPTION。此部分又是可选的,含有异常,在程序处理错误中。 |
每一个PL/SQL语句都以分号(;)结束。可嵌套在使用BEGIN和END等PL/SQL块PL/SQL块。这里是一个PL/SQL块的基本结构:
DECLARE <declarations section> BEGIN <executable command(s)> EXCEPTION <exception handling> END;
'Hello World' 示例:
DECLARE message varchar2(20):= 'Hello, World!'; BEGIN dbms_output.put_line(message); END; /
end; 行信号是PL/SQL块的末端。要运行SQL命令行代码,则可能需要代码的最后一行前,输入在第一个空行的开头。当上述代码在SQL提示符执行时,它产生了以下结果:
Hello World PL/SQL procedure successfully completed.
PL/SQL标识符
PL/SQL标识符是常量,变量,异常,过程,游标和保留字。标识符是由一个字母后面可以跟更多的字母,数字,美元符号,下划线和数字符号,并且不得超过30个字符。
默认情况下,标识符不区分大小写。所以,可以使用 integer 或 INTEGER 表示数值。不能使用保留关键字作为标识符。
PL/SQL分隔符
分隔符是一个具有特殊意义的符号。以下是在PL/SQL分隔符的列表:
分隔符 | 描述 |
---|---|
+, -, *, / | 加法,减法/否定,乘法,除法 |
% | 属性索引 |
' | 字符串分隔符 |
. | 组件选择 |
(,) | 表达式或列表分隔符 |
: | 主机变量指示符 |
, | 项目分离符 |
" | 带引号的标识符分隔符 |
= | 关系运算符 |
@ | 远程访问指示符 |
; | 声明终止符 |
:= | 赋值运算符 |
=> | 操作符关联 |
|| | 连接运算符 |
** | 乘方运算符 |
<<, >> | 标签分隔符(开始和结束) |
/*, */ | 多行注释分隔符(开始和结束) |
-- | 单行注释指示符 |
.. | 范围操作 |
<, >, <=, >= | 关系运算符 |
<>, '=, ~=, ^= | 不同版本的不相等的 |
PL/SQL注释
程序注释是解释性说明,可以包括自己编写的,并帮助任何人阅读源代码的PL/SQL代码。所有的编程语言允许某种形式的注释。
在PL/SQL支持单行和多行注释。任何注释里面所有字符都会被PL/SQL编译器忽略。在PL/SQL单行注释使用分隔符 - (双连字符)和多行注释被 /* 和 */ 括起来。
DECLARE -- variable declaration message varchar2(20):= 'Hello, World!'; BEGIN /* * PL/SQL executable statement(s) */ dbms_output.put_line(message); END; /
当上述代码在SQL提示符执行时,它产生了以下结果:
Hello World PL/SQL procedure successfully completed.
PL/SQL程序单元
PL/SQL单元是下列任何一个:
-
PL/SQL 块
-
函数
-
包
-
包体
-
过程
-
触发器
-
类型
-
类型体
这些单元都将在即将到来的章节中学习讨论。