- PL/SQL 教程
- PL/SQL - 首页
- PL/SQL - 概述
- PL/SQL - 环境
- PL/SQL - 基本语法
- PL/SQL - 数据类型
- PL/SQL - 变量
- PL/SQL - 常量和字面量
- PL/SQL - 运算符
- PL/SQL - 条件语句
- PL/SQL - 循环语句
- PL/SQL - 字符串
- PL/SQL - 数组
- PL/SQL - 过程
- PL/SQL - 函数
- PL/SQL - 游标
- PL/SQL - 记录
- PL/SQL - 异常处理
- PL/SQL - 触发器
- PL/SQL - 包
- PL/SQL - 集合
- PL/SQL - 事务
- PL/SQL - 日期和时间
- PL/SQL - DBMS 输出
- PL/SQL - 面向对象
- PL/SQL 有用资源
- PL/SQL - 常见问题解答
- PL/SQL - 快速指南
- PL/SQL - 有用资源
- PL/SQL - 讨论
PL/SQL - 基本语法
本章将讨论 PL/SQL 的基本语法,它是一种块结构语言;这意味着 PL/SQL 程序被划分并编写在逻辑代码块中。每个块包含三个子部分:
序号 | 部分及描述 |
---|---|
1 |
声明部分 此部分以关键字DECLARE开头。这是一个可选部分,用于定义程序中将使用的所有变量、游标、子程序和其他元素。 |
2 |
可执行命令 此部分包含在关键字BEGIN和END之间,它是必须的部分。它包含程序的可执行 PL/SQL 语句。它至少应该有一行可执行代码,这可能只是一个NULL 命令,表示不执行任何操作。 |
3 | 异常处理 此部分以关键字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 中的分隔符列表:
分隔符 | 描述 |
---|---|
+, -, *, / | 加法、减法/否定、乘法、除法 |
% | 属性指示符 |
' | 字符字符串分隔符 |
. | 组件选择器 |
(,) | 表达式或列表分隔符 |
: | 主机变量指示符 |
, | 项目分隔符 |
" | 带引号的标识符分隔符 |
= | 关系运算符 |
@ | 远程访问指示符 |
; | 语句终止符 |
:= | 赋值运算符 |
=> | 关联运算符 |
|| | 连接运算符 |
** | 指数运算符 |
<<, >> | 标签分隔符(begin 和 end) |
/*, */ | 多行注释分隔符(begin 和 end) |
-- | 单行注释指示符 |
.. | 范围运算符 |
<, >, <=, >= | 关系运算符 |
<>, '=, ~=, ^= | 不相等的不同版本 |
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 块
- 函数
- 包
- 包体
- 过程
- 触发器
- 类型
- 类型体
这些单元中的每一个都将在接下来的章节中讨论。