您的位置:首页 > 数据库 > Oracle

Oracle 显示游标

2017-02-09 20:08 218 查看
游标的基本原理:

    在Oracle中,在执行一个有SELECT、INSERT、UPDATE和DELETE语句PL/SQL块时,Oracle会在内存中为其分配一个缓冲区,将执行结果放在这个缓冲区中,而游标是该去的一个指针。

    
游标分类:

  静态游标  动态游标。

  静态游标又分隐式游标和显示游标。

显示游标的使用步骤:

  1.声明游标

   CURSOR cursor_name [(parameter[,parameter]...)]

   [RETURN return_type] IS select_statement;

   cursor_name指游标的名称

   parameter用于为游标指定输入参数。在指定数据类型时,不能使用长度约束。例如NUMBER(4)、CHAR(10)等都是错误的。

   return_type用于定义游标提取的行的类型。

   select_statement指游标定义的查询语句。
  2.打开游标

   OPEN cursor_name[(parameters)];
  3.提取游标

   FETCH cursor_name INTO variables;

   cursor_name值游标的名称

   variables是变量名。
  4.关闭游标

   CLOSE cursor_name;

   
显示游标的属性:

  %FOUND:只有在DML语句影响一行或多行时,%FOUND属性才会返回TRUE。

  %NOTFOUND:%NOTFOUND属性与%FOUND属性的作用正好相反。如果DML语句没有影响任何行,则%NOTFOUND属性返回TRUE。

  %ROWCOUNT:%ROWCOUNT属性返回DML语句影响的行数。如果DML语句没有影响任何行,则%ROWCOUNT属性将返回0。

  %ISOPEN:%ISOPEN属性返回游标是否已打开。

 

使用显示游标删除或更新:

  CURSOR cursor_name IS

    select_statement FOR UPDATE [OF columns];

  SELECT FOR UPDATE[OF columns]为更新查询,锁定选择的行。

  1.当选择单标更新查询时,可以省略OF子句。

  2.当选择多个表更新查询时,被锁定的行来源于OF子句后声明的列所在的表中的行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle mysql sqlServer
相关文章推荐