Oracle 游标(光标)、抛出异常、存储过程、存储函数、触发器、视图语法及应用

本文介绍了Oracle数据库中的游标操作,包括声明、打开、取数据和关闭,以及如何使用系统引用游标和for循环。此外,还涵盖了存储过程、函数的定义与调用,以及触发器和视图的创建与使用,重点展示了在数据库管理中的实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

游标(光标): 是用来操作查询结果集,相当于是JDBC中ResultSet
       语法: cursor 游标名[(参数名 参数类型)] is 查询结果集
       开发步骤:
           1. 声明游标
           2. 打开游标    open 游标名
           3. 从游标中取数据  fetch 游标名 into 变量
               游标名%found :找到数据
               游标名%notfound : 没有找到数据 
           4. 关闭游标    close 游标名
           
      系统引用游标
           1. 声明游标 : 游标名 sys_refcursor
           2. 打开游标: open 游标名 for 结果集
           3. 从游标中取数据
           4. 关闭游标
                
     for循环遍历游标:
           不需要声明额外变量
           不需要打开游标
           不需要关闭游标      

Oracle:> declare
   --游标
   cursor vrows is select * from 表1;
   --s声明变量,记录一行数据
   vrow 表1%rowtype;
begin
   --1.打开游标  
   open vrows;
   --2.从游标提取数据
   --循环取数据
   loop
       fetch vrows into vrow; 
       exit when vrows%notfound;  
       dbms_output.put_line('姓名:'||vrow.ename ||' 工资: ' || vrow.sal);
   end loop;
   --3.关闭游标
   close vrows;
end;

--输出指定部门下的员工姓名和工资

Oracle:>
declare
   --声明游标
   cursor vrows(dno number) is select * from 表1 where deptno = dno;
   --声明变量
   vrow 表1%rowtype;
begin
  --1.打开游标 , 指定10号部门
  open vrows(10);
  --2. 循环遍历,取数据
  loop
     fetch vrows into vrow;
     exit when vrows%notfound;    
      dbms_output.put_line('姓名:'||vrow.ename ||' 工资: ' || vrow.sal);
  end loop;
  close vrows;
end;

--系统引用游标
--输出员工表中所有的员工姓名和工资

Oracle:> declare
  --声明系统引用游标
  vrows sys_refcursor;
  --声明一个变量
  vrow 表1%rowtype;
begin
  --1.打开游标
  open vrows for select * from 表1;
  --2.取数据
  loop
    fetch vrows into vrow;
    exit whe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值