0
0
posted @   Rkey  阅读(16)  评论(0编辑  收藏  举报

【PLSQL】动态游标 分别拿出emp、dept表中所有的数据

复制代码
复制代码
--PLSQL 动态游标 分别拿出emp、dept表中所有的数据
declare
  c1 sys_refcursor;--声明一个动态游标
  e emp%rowtype;--声明一个emp表的行记录数据类型
  d dept%rowtype;--声明一个dept表的行记录数据类型
begin
  open c1 for select * from emp;--打开一个结果集
  
  loop--循环开始
    fetch c1 into e;--每次循环取一行,并把光标下移一行。进行依次获取每一行数据
  exit when c1%notfound;--当找不到下一行时,执行循环退出
  --每次循环输出一下每一行的数据
    dbms_output.put_line(rpad(e.empno,6)||rpad(e.ename,10)||rpad(e.job,12)||rpad(rpad(nvl(e.mgr,0),4),6)||rpad(to_char(e.hiredate,'yyyy-mm-dd day'),18)||rpad(e.sal,6)||rpad(nvl(e.comm,0),6)||e.deptno);
  end loop;--达到循环退出条件,执行此语句
  
  close c1;
  --关闭上面被打开的游标结果集的游标(光标)。plsql程序中上一个游标不结束,无法继续下一个游标的开启和获取数据。
  
  
  
  dbms_output.put_line('```````````````````````````````````````````````');
  
  
  
  open c1 for select * from dept;
  
  loop
    fetch c1 into d;
  exit when c1%notfound;
    dbms_output.put_line(rpad(d.deptno,6)||rpad(d.dname,20)||d.loc);
  end loop;
  
  close c1;
end;
复制代码

 


Oracle使用PLSQL获取表数据结果集-1
复制代码
posted @   Rkey  阅读(16)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示