PL/SQL编程(四) 游标、触发器

/*8、游标 显示游标:指的是游标使用之前必须得先声明定义,一般是对查询语句的结果事进行定义游标,然后通过打开游标循环获取结果集内的记录,或者可以根据业务需求跳出循环结束游标的获取。循环完成后,可以通过关闭游标,结果集就不能再获取了。全部操作完全由开发者自己编写完成,自己控制。 隐式游标:指的是PL/SQL自己管理的游标,开发者不能自己控制操作,只能获得它的属性信息。*/...
摘要由CSDN通过智能技术生成
/*
8、游标
     显示游标:指的是游标使用之前必须得先声明定义,一般是对查询语句的结果事进行定义游标,然后通过打开游标循环获取结果集内的记录,或者可以根据业务需求跳出循环结束游标的获取。循环完成后,可以通过关闭游标,结果集就不能再获取了。全部操作完全由开发者自己编写完成,自己控制。
     隐式游标:指的是PL/SQL自己管理的游标,开发者不能自己控制操作,只能获得它的属性信息。
*/

/*
     显示游标  使用步骤
     1、声明游标
          declare cursor cursor_name(游标名) is select_statement(查询语句); 
     2、打开游标 
          open cursor_name;
     3、读取游标中数据
          fetch cursor_name into record变量;
     4、关闭游标 
          close cursor_name;
*/
--8.1.1   创建游标给员工的薪水加1000
declare 
  cursor emp_addsal is select * from emp;--1 声明游标 emp_addsal
  emprow emp%rowtype;--定义emprow接收每行的数据      
begin
  open emp_addsal;--2 打开游标
  loop-- 循环读取游标中的数据
    fetch emp_addsal into emprow;--3 读取游标中数据 到 emprow
          exit when emp_addsal%notfound;--如果数据读取结束退出循环
          update emp set sal = (emprow.sal+1000) where empno = emprow.empno;--给对应员工工资加1000
  end loop;
  close emp_addsal;--关闭游标
  commit;--提交数据
end;
/
select * from emp;--查询员工工资

/*
     显式游标的属性
     1、%NOTFOUND。表示游标获取数据的时候是否有数据提取出来,没有数据返回TRUE,有数据返回false。经常用来判断游标是否全部循环完毕,如案例1%NOTFOUND为true的时候,说明循环完毕,跳出LOOP循环。
     2、%FOUND。正好和%NOTFOUND相反,当游标提取数据值时有值,返回TRUE,否则返回FALSE。
     3、%ISOPEN。用来判断游标是否打开。
     4、%ROWCOUNT。表示当前游标FETCH INTO获取了多少行的记录值,用来做计数用的。
*/
--8.1.2   查看显示游标的属性
declare 
  cursor emp_addsal is select * from emp;--1 声明游标 emp_addsal
  emprow emp%rowtype;--定义emprow接收每行的数据      
begin
  open emp_addsal;--2 打开游标
  loop-- 循环读取游标中的数据
    fetch emp_addsal into emprow;--3 读取游标中数据 到 emprow
          exit when e
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值