1、PL/SQL基本语法

1、PL/SQL概述

PL/SQL编程语言由Oracle公司在20世纪80年代末由SQL和Oracle关系数据库的程序扩展语言开发。以下是有关PL/SQL的一些重要事实 -

  • PL/SQL是一种完全可移植的,高性能的事务处理语言。
  • PL/SQL提供了一个内置的,解释的和独立于操作系统的编程环境。
  • 可以从命令行SQL * Plus界面直接调用PL/SQL。
  • 直接调用也可以从外部编程语言调用到数据库中的对象(函数或过程等)。
  • PL/SQL通用语法基于ADAPascal编程语言。
  • 除Oracle之外,PL/SQL还可用于TimesTen内存数据库和IBM DB2。

PL/SQL的特点

PL/SQL具有以下特点 -

  • PL/SQL与SQL紧密集成。
  • 它提供广泛的错误检查。
  • 它提供了许多数据类型。
  • 它提供了各种编程结构。
  • 它通过函数和过程支持结构化编程。
  • 它支持面向对象编程。
  • 它支持Web应用程序和服务器页面的开发。

PL/SQL的优点

PL/SQL具有以下优点 -

  • SQL是标准数据库语言,PL/SQL与SQL强大集成。 PL/SQL支持静态和动态SQL。 静态SQL支持来自PL/SQL块的DML操作和事务控制。在动态SQL中,SQL允许在PL/SQL块中嵌入DDL语句。
  • PL/SQL允许一次将整个语句块发送到数据库。这样可以减少网络流量,为应用程序提供高性能。
  • PL/SQL可以为程序员提供高效的生产力,因为它可以在数据库中查询,转换和更新数据。
  • PL/SQL通过强大的功能(例如:异常处理,封装,数据隐藏和面向对象的数据类型),节省了设计和调试时间。
  • 使用PL/SQL编写的应用程序完全可移植。
  • PL/SQL提供了高安全级别。
  • PL/SQL提供对预定义SQL包的访问。
  • PL/SQL提供对面向对象编程的支持。
  • PL/SQL支持开发Web应用程序和服务器页面。

2、PL/SQL基本语法

PL/SQL是块结构语言; 这意味着PL/SQL程序被划分成几个部分,并在每个部分中写入逻辑代码块。每个块由三个子部分组成 -

  • 声明部分 - 此部分是以关键字DECLARE开头。这是一个可选部分,并定义了程序中要使用的所有变量,游标,子程序和其他元素。
  • 可执行命令部分 - 此部分包含在关键字BEGINEND之间,这是一个强制性部分。它由程序的可执行PL/SQL语句组成。它应该有至少一个可执行代码行,它可以只是一个NULL命令,表示不执行任何操作。
  • 异常处理部分 - 此部分以关键字EXCEPTION开头。这是一个可选部分,它包含处理程序中错误的异常。

每个PL/SQL语句以分号(;)结尾。 使用BEGINEND可以将PL/SQL块嵌套在其他PL/SQL块中。 以下是PL/SQL块的基本结构 -

DECLARE 
   <declarations section> 
BEGIN 
   <executable command(s)>
EXCEPTION 
   <exception handling> 
END;

Hello World示例

SQL> declare
  2     msg varchar2(20):='Hello World!';
  3  begin
  4     dbms_output.put_line(msg);
  5  end;
  6  /
Hello World!
PL/SQL procedure successfully completed

END;行表示PL/SQL块的结尾。要从SQL命令行运行代码,需要在代码的最后一行之后键入/字符。

PL/SQL标识符

PL/SQL标识符是常量,变量,异常,过程,游标和保留字。标识符包括一个字母,可选地后跟多个字母,数字,美元符号,下划线和数字符号,不得超过30个字符。

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

PL/SQL分隔符

分隔符是具有特殊含义的符号。以下是PL/SQL中的分隔符列表 -

分隔符 描述
+,-*/ 加法,减法/负,乘法,除法
% 属性绑定
' 字符串分隔符
. 组件选择符
(,) 表达式或列表分隔符
: 主机变量指示符
, 项目分隔符
" 引用标识符分隔符
= 关系运算符
@ 远程访问指示符
; 声明或语句终止符
:= 赋值运算符
=> 关联运算符
连接运算符
** 指数运算符
<<>> 标签分隔符(开始和结束)
/**/ 多行注释分隔符(开始和结束)
-- 单行注释指示符
.. 范围运算符
<><=>= 关系运算符
<>'=~=^= 不同版本的”不等于”运算符

PL/SQL注释

程序注释可以在编写的PL/SQL代码中包含的说明性文字,并帮助其他人阅读源代码。所有编程语言都允许某种形式的注释。

PL/SQL支持单行和多行注释。注释中的所有字符都被PL/SQL编译器忽略。 PL/SQL单行注释以分隔符开头 --(双连字符),多行注释由/**/括起来。

SQL> DECLARE
  2     -- variable declaration
  3     message  varchar2(20):= 'Hello, World!';
  4  BEGIN
  5     /*
  6     *  PL/SQL executable statement(s)
  7     */
  8     dbms_output.put_line(message);
  9  END;
 10  /
Hello, World!
PL/SQL procedure successfully completed

PL/SQL程序单元

PL/SQL单元是以下任何一个 -

  • PL/SQL块
  • 函数
  • 包体
  • 过程
  • 触发器
  • 类型
  • 类型体

猜你喜欢

转载自blog.csdn.net/ageeklet/article/details/82896254
今日推荐