zoukankan      html  css  js  c++  java
  • PL/SQL

    PL/SQL

    PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。

    1 PL/SQL基本概念
      PL/SQL是Oracle对标准数据库语言SQL的过程化扩充,它将数据库技术和过程化程序设计语言联系起来,是一种应用开发语言,可使用循环,分支处理数据,将SQL的数据操纵功能与过程化语言数据处理功能结合起来.PL/SQL的使用,使SQL成为一种高级程序设计语言,支持高级语言的块操作,条件判断,循环语句,嵌套等,与数据库核心的数据类型集成,使SQL 的程序设计效率更高.
     
      ⒈1 PL/SQL的作用
     
      使用PL/SQL可以编写具有很多高级功能的程序,虽然通过多个SQL语句可能也能实现同样的功能,但是相比而言,PL/SQL具有更为明显的一些优点:
     
      ⒈能够使一组SQL语句的功能更具模块化程序特点;
     
      ⒉采用了过程性语言控制程序的结构;
     
      ⒊可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断;
     
      ⒋具有较好的可移植性,可以移植到另一个Oracle数据库中;
     
      ⒌集成在数据库中,调用更快;
     
      ⒍减少了网络的交互,有助于提高程序性能。
     
      通过多条SQL语句实现功能时,每条语句都需要在客户端和服务端传递,而且每条语句的执行结果也需要在网络中进行交互,占用了大量的网络带宽,消耗了大量网络传递的时间,而在网络中传输的那些结果,往往都是中间结果,而不是我们所关心的。
     
      而使用PL/SQL程序是因为程序代码存储在数据库中,程序的分析和执行完全在数据库内部进行,用户所需要做的就是在客户端发出调用PL/SQL的执行命令,数据库接收到执行命令后,在数据库内部完成整个PL/SQL程序的执行,并将最终的执行结果返馈给用户。在整个过程中网络里只传输了很少的数据,减少了网络传输占用的时间,所以整体程序的执行性能会有明显的提高。
     
      ⒈2 PL/SQL程序的基本结构
     
      PL/SQL块由四个基本部分组成:声明、执行体开始、异常处理、执行体结束。
     
      下面是四个部分的基本结构:
     
      DECLARE—可选部分
     
      变量、常量、游标、用户定义异常的声明
     
      ……
     
      BEGIN—必要部分
     
      SQL语句和PL/SQL语句构成的执行程序
     
      ……
     
      EXCEPTION—可选部分
     
      程序出现异常时,捕捉异常并处理异常
     
      ……
     
      END;—必须部分
     
      在数据库执行PL/SQL程序时,PL/SQL语句和SQL语句是分别进行解析和执行的。PL/SQL块被数据库内部的PL/SQL引擎提取,将SQL语句取出送给Oracle的SQL引擎处理,两种语句分别在两种引擎中分析处理,在数据库内部完成数据交互、处理过程。
       
    2 PL/SQL的变量
      就像其他的程序语言一样,变量是在程序中出现最频繁的名词,在PL/SQL中的学习中首先需要了解变量的一些基本概念和使用方法。
     
      PL/SQL程序包括了四个部分,在四个部分中,声明部分主要用来声明变量并且初始化变量,在执行部分可以为变量赋新值,或者在表达式中引用变量的值,在异常处理部分同样可以按执行部分的方法使用变量。另外,在PL/SQL程序使用时可以通过参数变量把值传递到PL/SQL块中,也可以通过输出变量或者参数变量将值传出PL/SQL块。
     
      在定义变量、常量标识符时需要注意下面的一些基本规则:
     
      ⒈定义的标识符名称应该遵循命名规则,在后面将会提到主要的命名规则;
     
      ⒉在声明常量和变量的时候可以为其设置初始化值,也可以强制设置not null;
     
      ⒊可以使用赋值运算符(:=)或DEFAULT保留字来初始化标识符,为标识符赋初始值;
     
      ⒋在声明标识符时,每行只能声明一个标识符。
     
      在PL/SQL中主要使用下面三种类型的变量(或者常量):
     
      ⒈简单变量;
     
      ⒉复合(组合)变量;
     
      ⒊外部变量。
     
      三种变量分别用于存放不同特性的数据。
     
     3 PL/SQL的基本语法
      在写PL/SQL语句时,必须遵循一些基本的语法,下面是PL/SQL程序代码的基本语法要求:
     
      ⒈语句可以写在多行,就像SQL语句一样;
     
      ⒉各个关键字、字段名称等等,通过空格分隔;
     
      ⒊每条语句必须以分号结束,包括PL/SQL结束部分的END关键字后面也需要分号;
     
      ⒋标识符需要遵循相应的命名规定;
     
      ⑴名称最多可以包含30个字符;
     
      ⑵不能直接使用保留字,如果需要,需要使用双引号括起来;
     
      ⑶第一个字符必须以字母开始;
     
      ⑷不要用数据库的表或者科学计数法表示;
     
      还有一些语法相关的规则:
     
      ⒈在PL/SQL程序中出现的字符值和日期值必须用单引号括起;
     
      ⒉数字值可以使用简单数字或者科学计数法表示;
     
      ⒊在程序中最好养成添加注释的习惯,使用注释可以使程序更清晰,使开发者或者其他人员能够很快的理解程序的含义和思路。在程序中添加注释可以采用:
     
      ⑴/*和*/之间的多行注释;
     
      ⑵以--开始的单行注释。
       
    4 Example
      DECLARE
     
      salary emp.sal%TYPE := 0;
     
      mgr_num emp.mgr%TYPE;
     
      last_name emp.ename%TYPE;
     
      starting_empno emp.empno%TYPE := 7499;
     
      BEGIN
     
      SELECT mgr INTO mgr_num FROM emp
     
      WHERE empno = starting_empno;
     
      WHILE salary <= 2500 LOOP
     
      SELECT sal,mgr,ename INTO salary,mgr_num,last_name
     
      FROM emp WHERE empno = mgr_num;
     
      END LOOP;
     
      INSERT INTO temp VALUES (NULL,salary,last_name);
     
      COMMIT;
     
      EXCEPTION
     
      WHEN NO_DATA_FOUND THEN
     
      INSERT INTO temp VALUES (NULL,NULL,'Not found');
     
      COMMIT;
     
      END;
     
      /*Please View The Example Code Reference*/
     
     
    http://baike.baidu.com/view/470171.htm 原文
  • 相关阅读:
    Python脚本文件(.py)打包为可执行文件(.exe)即避免命令行中包含Python解释器
    MVC 三步完成增删改查设计
    MVC中使用SqlServerCe
    回车转Tab
    动态代码
    Mvc 用户没有登录跳转到登录界面
    Mvc
    Mvc提交
    EF查询 linq
    EF数据迁移 Migrations
  • 原文地址:https://www.cnblogs.com/baiyixianzi/p/index_PLSQL.html
Copyright © 2011-2022 走看看