PL/SQL - 基本语法
在本章中,我们将讨论 PL/SQL 的基本语法,它是一种块结构语言; 这意味着 PL/SQL 程序被划分并编写成逻辑代码块。 每个块由三个子部分组成 −
S.No | Sections & Description |
---|---|
1 |
Declarations 此部分以关键字 DECLARE 开头。 它是一个可选部分,定义了程序中要使用的所有变量、游标、子程序和其他元素。 |
2 |
Executable Commands 此部分包含在关键字 BEGIN 和 END 之间,它是必填部分。 它由程序的可执行 PL/SQL 语句组成。 它应该至少有一个可执行的代码行,可能只是一个NULL 命令,表示什么都不应该被执行。 |
3 | Exception Handling 本节以关键字 EXCEPTION 开头。 此可选部分包含处理程序中的错误的异常。 |
每个 PL/SQL 语句都以分号 (;) 结束。 PL/SQL 块可以使用 BEGIN 和 END 嵌套在其他 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 block
- Function
- Package
- Package body
- Procedure
- Trigger
- Type
- Type body
这些单元中的每一个都将在接下来的章节中进行讨论。