PL/SQL - 基本语法



本章将讨论 PL/SQL 的基本语法,它是一种块结构语言;这意味着 PL/SQL 程序被划分并编写在逻辑代码块中。每个块包含三个子部分:

序号 部分及描述
1

声明部分

此部分以关键字DECLARE开头。这是一个可选部分,用于定义程序中将使用的所有变量、游标、子程序和其他元素。

2

可执行命令

此部分包含在关键字BEGINEND之间,它是必须的部分。它包含程序的可执行 PL/SQL 语句。它至少应该有一行可执行代码,这可能只是一个NULL 命令,表示不执行任何操作。

3

异常处理

此部分以关键字EXCEPTION开头。此可选部分包含用于处理程序中错误的异常

每个 PL/SQL 语句以分号 (;) 结尾。PL/SQL 块可以使用BEGINEND嵌套在其他 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 个字符。

默认情况下,标识符不区分大小写。因此,您可以使用integerINTEGER来表示数值。您不能使用保留关键字作为标识符。

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 块
  • 函数
  • 包体
  • 过程
  • 触发器
  • 类型
  • 类型体

这些单元中的每一个都将在接下来的章节中讨论。

广告