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; 
/ 

结束行表示 PL/SQL 块的结束。要从 SQL 命令行运行代码,您可能需要在代码最后一行之后的第一个空行的开头键入 /。当上面的代码在 SQL 提示符下执行时,会产生以下结果 -

Hello World  

PL/SQL procedure successfully completed.

PL/SQL 标识符

PL/SQL 标识符是常量、变量、异常、过程、游标和保留字。标识符由一个字母组成(可选后跟更多字母、数字、美元符号、下划线和数字符号),并且不应超过 30 个字符。

默认情况下,标识符不区分大小写。因此可以使用整数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 块
  • 功能
  • 包裹
  • 封装体
  • 程序
  • 扳机
  • 类型
  • 型体

每个单元都将在以下章节中讨论。