1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

PL/SQL几个基本概念

本帖由 wycsg2006-07-13 发布。版面名称:后端开发

  1. wycsg

    wycsg New Member

    注册:
    2006-04-05
    帖子:
    2,068
    赞:
    17
    PL/SQL几个基本概念

    1. PL/SQL概述

    PL/SQL is Oracle's procedural extension to industry-standard SQL. PL/SQL naturally, efficiently, and safely extends SQL. Its primary strength is in providing a server-side, stored procedural language that is easy-to-use, seamless with SQL, robust, portable, and secure.

    PL/SQL语言是Oracle公司对标准SQL语言的过程化扩展。它将SQL语言(4GL)的强大灵活性与3GL的过程性结构融为一体。

    PL/SQL是Procedural Language/SQL的缩写。正如其名字所示,PL/SQL通过增加了用在其他过程性语言中的结构来对SQL进行了扩展,例如:

    变量和类型(包括预定义和用户自定义)。

    控制结构,如IF-THEN-ELSE语句和循环。

    过程和函数。

    对象类型和方法

    2. 游标

    游标用来处理从数据库中检索的多行记录(使用SELECT语句)。利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集。

    为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下文区。这个区包含了已经处理完的行数、指向被分析语句的指针,整个区是查询语句返回的数据行集。游标就是指向上下文区句柄或指针。

    2.1 显示游标

    显示游标被用于处理返回多行数据的SELECT 语句,游标名通过CURSOR….IS 语句显示地赋给SELECT 语句。

    在PL/SQL中处理显示游标所必需的四个步骤:

    1)声明游标;CURSOR cursor_name IS select_statement

    2)为查询打开游标;OPEN cursor_name

    3)取得结果放入PL/SQL变量中;

    FETCH cursor_name INTO list_of_variables;



    FETCH cursor_name INTO PL/SQL_record;



    4)关闭游标。CLOSE cursor_name

    注意:在声明游标时,select_statement不能包含INTO子句。当使用显示游标时,INTO子句是FETCH语句的一部分。

    2.2 隐式游标



    所有的隐式游标都被假设为只返回一条记录。

    使用隐式游标时,用户无需进行声明、打开及关闭。PL/SQL隐含地打开、处理,然后关掉游标。

    例如:

    …….

    SELECT studentNo,studentName

    INTO curStudentNo,curStudentName

    FROM StudentRecord

    WHERE name=’gg’;

    上述游标自动打开,并把相关值赋给对应变量,然后关闭。执行完后,PL/SQL变量curStudentNo,curStudentName中已经有了值。