Oracle PL/SQL – 基本语法
简述
在本章中,我们将讨论 PL/SQL 的基本语法,这是一个 块结构语言; 这意味着 PL/SQL 程序被划分并编写在逻辑代码块中。每个块由三个子部分组成 -
| 序号 | 部分和说明 |
|---|---|
| 1 |
Declarations
本节以关键字DECLARE开头 . 它是一个可选部分,定义了程序中要使用的所有变量、游标、子程序和其他元素。
|
| 2 |
Executable Commands
此部分包含在关键字之间 BEGIN 和 END它是必填部分。它由程序的可执行 PL/SQL 语句组成。它应该至少有一行可执行的代码,这可能只是一个NULL command 表示不应执行任何操作。
|
| 3 |
Exception Handling
本节以关键字开头 EXCEPTION. 此可选部分包含exception(s) 处理程序中的错误。
|
每个 PL/SQL 语句都以分号 (;) 结尾。PL/SQL 块可以嵌套在其他 PL/SQL 块中,使用BEGIN 和 END. 以下是 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 个字符。
默认情况下, identifiers are not case-sensitive. 所以你可以使用integer 要么 INTEGER来表示一个数值。不能使用保留关键字作为标识符。
PL/SQL 分隔符
分隔符是具有特殊含义的符号。以下是 PL/SQL 中的分隔符列表 -
| 分隔符 | 描述 |
|---|---|
| +, -, *, / | 加法、减法/求反、乘法、除法 |
| % | 属性指标 |
| ' | 字符串定界符 |
| . | 组件选择器 |
| (,) | 表达式或列表分隔符 |
| : | 宿主变量指示符 |
| , | 项目分隔符 |
| " | 带引号的标识符分隔符 |
| = | 关系运算符 |
| @ | 远程访问指示灯 |
| ; | 语句终止符 |
| := | 赋值运算符 |
| => | 关联运营商 |
| || | 连接运算符 |
| ** | 求幂运算符 |
| <<, >> | 标签分隔符(开始和结束) |
| /*, */ | 多行注释分隔符(开始和结束) |
| -- | 单行注释指示符 |
| .. | 范围运算符 |
| <, >, <=, >= | 关系运算符 |
| <>, '=, ~=, ^= | 不同版本的 NOT EQUAL |
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 块
- 函数
- 包
- 包体
- 过程
- 触发器
- 类型
- 类型体
这些单元中的每一个都将在以下章节中讨论。