码迷,mamicode.com
首页 > 数据库 > 详细

oracle 学习(四)游标

时间:2017-03-28 00:23:43      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:char   bsp   logs   varchar2   隐式游标   row   ret   rom   变量   

  • 显式游标
  • 隐式游标:如果在PL/SQL程序段中使用SELECT语句进行操作,PL/SQL 会隐含的处理游标定义,即为隐式游标。这种游标不需要像显式那样声明,也不必打开关闭。
    • 技术分享
      1 CREATE OR REPLACE PROCEDURE CX_XM
      2 (in_xh IN char,out_xm OUT varchar2)
      3 AS
      4 BEGIN
      5      SELECT 姓名 INTO out_xm
      6              FROM XSB
      7              WHERE 学号=in_xh AND ROWNUM=1;
      8       DBMS_OUTPUT.PUT_LINE(out_xm);
      9 END CX_XM;
      View Code
    • 注意
      1. 每一个隐式游标必须有一个INTO
      2. 与显式游标一样,就收数据的目标变量的数目、类型要与SELECT列表的一致。
      3. 隐式游标一次仅能返回一行数据,使用时必须检查一场,最常见的异常有“NO_DATA_FOUND"&"TOO_MANY_ROWS".
      4. 为确保隐式游标仅返回一行数据,可用ROWCOUNT=1来限定,表示返回第一行数据。
  • 游标for循环
    1 FOR<变量名>IN<游标名>[(<参数1>[,<参数2>...])]LOOP
    2             语句段
    3 END LOOP;

     

  • 游标变量REF CURSOR
    • 定义CURSOR类型
      技术分享
      TYPE<REF CURSOR 类型名>
      IS
      REF CURSOR[RETURN<返回类型>];
      
      eg:
      DECLARE
      TYPE xs_cur
        IS
        REF CURSOR RETURN XSB%ROWTYPE;
      View Code

      REF CURSOR类型既可以是强类型,也可以是弱类型。强REF CURSOR类型有返回类型;而弱类型没有

      技术分享
      1 DECLARE
      2    TYPE xs_cur IS REF CURSOR RETURN XSB%ROWTYPE;  /*强类型*/
      3    TYPE mycur IS REF CURSOR;                                      /*弱类型*/
      View Code

       

    •  

oracle 学习(四)游标

标签:char   bsp   logs   varchar2   隐式游标   row   ret   rom   变量   

原文地址:http://www.cnblogs.com/yuelien/p/6629375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!