HANA cursor与Oracle cursor的转换

实际工作场景为 业务顾问给出的逻辑是Oracle库的游标,现在需要在SAP HANA中做一样的游标以更新一张自定义表。HANA SQL与 ORACLE SQL有些许的不同之处,记录与此。

oracle cursor:

declare cursor sap_company_cursor is 
    select distinct b.proc_inst_id,
                    m.approvable,
                    m.approval_comment,
                    b.status,m.act_name
    from mss_ds.wf_message_done m, mss_ds.wf_biz_proc_inst b
    where m.proc_inst_id = b.proc_inst_id
     ;

begin
  for mc in sap_company_cursor loop
    if (instr(mc.act_name,'会计') > 0 and mc.approvable=0) then
      insert into temp_gu_bank
        (dan, hao, yijian, ben,jingjishixiang)
      values
        (mc.proc_inst_id, mc.approvable, mc.approval_comment, mc.status,mc.act_name);
    end if;
  end loop;
end; 

HANA cursor:

DO
BEGIN 
	DECLARE CURSOR sap_company_cursor FOR
    	select distinct b.proc_inst_id,
                        m.approvable,
                        m.approval_comment,
                        b.status,m.act_name
      	from mss_bzpt_gd_p.wf_message_done m, mss_bzpt_gd_p.wf_biz_proc_inst b
     	where m.proc_inst_id = b.proc_inst_id
    ;

    FOR mc AS sap_company_cursor DO
      IF (LOCATE(mc.act_name,'会计') > 0 AND mc.approvable=0) THEN
        insert into "XXXX"."TEMP_GU_BANK" 
          (dan, hao, yijian, ben,jingjishixiang)
        values
          (mc.proc_inst_id, mc.approvable, mc.approval_comment, mc.status,mc.act_name);
      END IF;
    END FOR;
END; 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值