数据库 sql游标

1 基本知识

declare 定义游标
open  打开游标
fetch 从游标中取一行数据,每一次提取数据后,游标都指向结果集的下一行
close 关闭游标,使游标失去作用,并且结果集变成未定义,游标关闭可以重开

declare cursor v_cursor is -- 定义游标 select * from dual; v_table dual%ROWTYPE; --表类型 v_name dual.dummy%type; --列类型 begin open v_cursor; --打开游标 loop fetch v_cursor -- 取数据 into v_table; exit when v_cursor %NOTFOUND; dbms_output.put_line(v_table.dummy); end loop; close v_cursor; -- 关闭游标 end;

 

 

   例子:数据迁移

 

2 游标属性

   显示游标属性

    %found 布尔属性

    %notfound

    %isopen 布尔属性

    %rowcount:此数字属性返回目前为止游标返回行的数目,如果在相关  联的游标还没有打开进行引用,会返回错误,fetch之前是0.

 

   隐式游标属性

   同上,只不过针对的是insert,update,delete和select into

   例子 declare v_table dual%ROWTYPE; --表类型 v_name dual.dummy%type; --列类型 begin select * into v_table from dual; if SQL%Found then dbms_output.put_line(v_table.dummy); end if; end; declare v_name table1.dummy%type := 'Y'; --列类型 begin update table1 set dual.dummy = v_name ; if SQL%Found then dbms_output.put_line(SQL%Rowcount); end if; end;

 
  

 

  

   

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值