PL/SQL - 基本语法

  • 简述

    在本章中,我们将讨论 PL/SQL 的基本语法,这是一个 块结构语言; 这意味着 PL/SQL 程序被划分并编写在逻辑代码块中。每个块由三个子部分组成 -
    序号 部分和说明
    1
    Declarations
    本节以关键字DECLARE开头 . 它是一个可选部分,定义了程序中要使用的所有变量、游标、子程序和其他元素。
    2
    Executable Commands
    此部分包含在关键字之间 BEGINEND它是必填部分。它由程序的可执行 PL/SQL 语句组成。它应该至少有一行可执行的代码,这可能只是一个NULL command 表示不应执行任何操作。
    3
    Exception Handling
    本节以关键字开头 EXCEPTION. 此可选部分包含exception(s) 处理程序中的错误。
    每个 PL/SQL 语句都以分号 (;) 结尾。PL/SQL 块可以嵌套在其他 PL/SQL 块中,使用BEGINEND. 以下是 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 块
    • 函数
    • 包体
    • 过程
    • 触发器
    • 类型
    • 类型体
    这些单元中的每一个都将在以下章节中讨论。