在本章中,我们将学习PL/SQL的基本语法,PL/SQL是块结构语言; PL/SQL程序划分成几个部分,并在每个部分中写入逻辑代码块。每个块由三个子部分组成 –
- 声明部分 – 此部分是以关键字
DECLARE
开头。这是一个可选部分,并定义了程序中要使用的所有变量,游标,子程序和其他元素。 - 可执行命令部分 – 此部分包含在关键字
BEGIN
和END
之间,这是一个强制性部分。它由程序的可执行PL/SQL语句组成。它应该有至少一个可执行代码行,它可以只是一个NULL
命令,表示不执行任何操作。 - 异常处理部分 – 此部分以关键字
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 *Plus提示符下执行时,它会产生以下结果 –
Hello World
PL/SQL procedure successfully completed.
PL/SQL程序单元
PL/SQL单元是以下任何一个 –
- PL/SQL块
- 函数
- 包
- 包体
- 过程
- 触发器
- 类型
- 类型体
这些单元将在接下来的章节中讨论和学习。