详解Oracle游标的简易用法

 更新时间:2019年08月22日 11:33:27   作者:深圳热心市民  
这篇文章主要介绍了详解Oracle游标的简易用法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

下面看下Oracle游标的简易用法,具体代码如下所示:

create or replace procedure NW_DelYW(iOPERATION_ID number,
                 sUserID   varchar2) is
 sCurDJBH yw_operation_link.djbh%type;
 cursor table_yw(ywid yw_operation.id%type) is
  select * from yw_operation_link t1 where t1.operation_id = ywid;
begin
 for dr in table_yw(iOPERATION_ID) loop
  sCurDJBH := dr.djbh;
  --取得opercationid
  /*  select t1.operation_id
   into sOperationID
   from yw_operation_link t1
  where t1.djbh = sCurDJBH;*/

  --写日志
  insert into log_zfywinfo
   (DJBH,
    DJDL,
    DJXL,
    DLMC,
    XLMC,
    SLR,
    SLRID,
    SQRXM,
    FWZL,
    ZFRQ,
    ZFRID,
    zfr)
   select distinct sCurDJBH,
       t4.id,
       t3.id,
       t4.name,
       t3.name,
       t1.slry,
       t1.slryid,
       t1.SQRXM,
       t1.zl,
       sysdate,
       sUserID,
       (select tt.name from pw_user tt where tt.id=sUserID)
    from yw_operation t1
    join yw_operation_link t2
     on t2.operation_id = t1.ID
    join BUSINESS_TYPE t3
     on t3.id = t1.business_id
    join BUSINESS_CLASS t4
     on t4.id = t3.parent_id
    where t1.ID = dr.operation_id;
exception
 when others then
  rollback;
  dbms_output.put_line(sqlerrm);
end NW_DelYW;

Oracle使用cursor 游标循环添加删除更新。

知识点扩展:

Oracle游标简单示例

使用游标打印员工姓名和薪水

set serveroutput on;
declare
cursor cemp is select ename,sal from emp;
cname emp.ename%type;
csal emp.sal%type;
begin
 open cemp;
 loop
  fetch cemp into cname,csal;
  exit when cemp%notfound;
  dbms_output.put_line(cname || '的薪水是' || csal);
 end loop;
end;
/ 

 带参数的游标

使用游标打印某部门号的所有员工姓名

set serveroutput on;
declare 
cursor cemp(cno emp.deptno%type) is select ename from emp where emp.deptno = cno;
cname emp.ename%type;
begin
 open cemp(10);
 loop 
  fetch cemp into cname;
  exit when cemp%notfound;
  dbms_output.put_line(cname);
  
 end loop;
end;
/ 

总结

以上所述是小编给大家介绍的详解Oracle游标的简易用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Oracle如何设置密码复杂度

    Oracle如何设置密码复杂度

    这篇文章主要介绍了Oracle如何设置密码复杂度问题,具有很好的参考价值,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Oracle中判断字段是否为数字

    Oracle中判断字段是否为数字

    本文分别介绍使用trim+translate函数或regexp_like函数判断表中的某个字段是否为数字的方法,希望对大家有所帮助。
    2016-05-05
  • Oracle数据库密码重置、导入导出库命令示例应用

    Oracle数据库密码重置、导入导出库命令示例应用

    本节主要介绍了Oracle数据库密码重置、导入导出库命令的基本使用,有需要的朋友可以学习下
    2014-07-07
  • oralce和db2兼容开发注意事项

    oralce和db2兼容开发注意事项

    这篇文章主要介绍了oralce和db2兼容开发注意事项的相关资料,这里整理了几个重要问题及如何解决,需要的朋友可以参考下
    2016-11-11
  • Oracle数据库表备份导入导出dmp的方式及踩坑记录

    Oracle数据库表备份导入导出dmp的方式及踩坑记录

    dmp是数据库导出的文件,用以备份数据库用,一般会用exp命令来导出,用imp命令来导入也就是恢复数据库,下面这篇文章主要给大家介绍了关于Oracle数据库表备份导入导出dmp的方式及踩坑记录,需要的朋友可以参考下
    2022-07-07
  • Oracle 10g安装配置方法图文教程

    Oracle 10g安装配置方法图文教程

    这篇文章主要为大家详细介绍了Oracle 10g安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 通过Navicat连接Oracle数据库的详细步骤

    通过Navicat连接Oracle数据库的详细步骤

    本文介绍如何通过Navicat 连接Oracle数据库,以往总是使用Oracle客户端来连接Oracle数据库,但是Oracle客户端一般有几百M的大小,而且安装繁琐配置麻烦,如果可以通过Navicat直接连接Oracle则会非常轻松方便,需要的朋友可以参考下
    2023-10-10
  • Oracle如何获取数据库系统的当前时间

    Oracle如何获取数据库系统的当前时间

    这篇文章主要介绍了Oracle如何获取数据库系统的当前时间问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Oracle 删除大量表记录操作分析总结

    Oracle 删除大量表记录操作分析总结

    这篇文章主要介绍了Oracle删除大量表记录操作分析总结,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 详解Oracle数据库中自带的所有表结构(sql代码)

    详解Oracle数据库中自带的所有表结构(sql代码)

    这篇文章主要介绍了Oracle数据库中自带的所有表结构,本文给大家介绍的非常详细,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11

最新评论