游标示例

1、按行取出

  DECLARE
   CURSOR test_c
   IS
      SELECT s.id staff_id,
             s.entrydate entrydate,
             d.id dimission_id,
             l.id liquidation_id
        FROM t_oa_staff s
             LEFT JOIN t_oa_dimission d
                ON d.delete_flag = '0' AND d.create_user = s.id
             LEFT JOIN t_oa_liquidation l
                ON l.delete_flag = '0' AND l.create_user = s.id
       WHERE s.delete_flag = '0';
   test_row test_c%ROWTYPE;
BEGIN
   FOR test_row IN test_c
   LOOP
      INSERT INTO t_oa_staff_workdate (sw_id,
                                       staff_id,
                                       sw_entrydate,
                                       dimission_id,
                                       liquidation_id,create_user)
           VALUES (seq_staff_workdate.NEXTVAL,
                   test_row.staff_id,
                   test_row.entrydate,
                   test_row.dimission_id,
                   test_row.liquidation_id,'60');
   END LOOP;
   COMMIT;
END;

2、取出结果集

DECLARE
   CURSOR mycur
   IS
      SELECT dt.id
        FROM t_oa_department dt
       WHERE DT.DELETE_FLAG = '0'
             AND dt.id NOT IN (187, 189); 
BEGIN
   FOR varA IN mycur
   LOOP
      INSERT INTO T_OA_JOBTITLE (id,
                                 DEPART_CODE,
                                 name,
                                 kind) 
           VALUES (SEQ_JOBTITLE.NEXTVAL,
                   varA.id,
                   '一般员工',
                   144); 
   END LOOP;
   COMMIT;
END;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值