Oracle数据库PL/SQL介绍

发表于:2007-06-22来源:作者:点击数: 标签:
什么是PL/SQL 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型 数据库 一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径, 而是简单的调用相应语句来直接取得结果即可。 例:delete from

   

什么是PL/SQL
              结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,

而是简单的调用相应语句来直接取得结果即可。
        例:delete from students where major=‘Nutrition’;
              然而,对于有些复杂的业务流程又要求相应的程序来描述,那么4GL就有些无能为力了。
             PL/SQL通过增加了用在其它过程性语言中的结构来对SQL进行了扩展,使得它不仅仅是一个数据库查询语言,而且也是一个编程语言

PL/SQL代表面向过程化的语言与SQL语言的结合,在编写PL/SQL代码时可以在SQL语句中使用:
(1)变量和类型
(2)控制语句
(3)过程和函数
(4)对象类型和方法
PL/SQL语言实现了将过程结构与Oracle SQL的无缝集成
例:修改一个学生的专业,如果没有该学生,就插入一个新的记录
--3gl_4gl.sql
DECLARE
     v_newmajor VARCHAR2(10):=‘History’;
     v_firstname VARCHAR2(10):=‘Scott’;
     v_lastname VARCHAR2(10):=‘Urman’;

BEGIN
     update students
          set major=v_newmajor
          where first_name=v_last_name and       last_name=v_last_name;

    If SQL%notfound then
 insert into      students(ID,FIRST_NAME,LAST_NAME,MAJOR)    valueS  (student_sequence.NEXTVAL,v_firstname,
     v_lastname,v_newmajor);
  End if;
End;

原文转自:http://www.ltesting.net