Update DN with Procedure


Update DN

 1 CREATE PROCEDURE NKXPRTEMP/UPD_DN(IN DNNO CHAR ( 10))               
 2 LANGUAGE SQL MODIFIES SQL DATA   
 3 
 4 BEGIN                              
 5     -- Step 1                                                               
 6     UPDATE DNRITM A SET (DNITTQTY, DNIREQTY) = (SELECT              
 7        SUM(RTLEXQTY), SUM(RTLEXQTY) FROM DNRSZE B                   
 8     WHERE A.DNDLNNBR = B.DNDLNNBR  AND A.MMPRDMAT = B.MMPRDMAT )    
 9     WHERE DNDLNNBR = DNNO ;                                         
10     
11     -- Step 2                                                             
12     UPDATE DNRDHE A SET ( DNOFPQTY, DNROPQTY, DNNFPQTY, DNNRPQTY ) =
13      ( SELECT SUM( DNIFCQTY), SUM(DNIREQTY), SUM( DNIFCQTY),        
14        SUM(DNIREQTY) FROM DNRITM B WHERE A.DNDLNNBR = B.DNDLNNBR )  
15     WHERE DNDLNNBR = DNNO ;                                         
16      
17     -- Step 3                                                               
18     UPDATE DNRHDR A SET(DNOFCQTY, DNORPQTY, DNNVFQTY, DNNVRQTY ) =( 
19        SELECT DNOFPQTY, DNROPQTY, DNNFPQTY, DNNRPQTY FROM DNRDHE B  
20     WHERE A.DNDLNNBR = B.DNDLNNBR )                                 
21     WHERE DNDLNNBR = DNNO  ;  
22 
23 END 
Update DN

-- Use

CALL NKXPRTEMP/UPDATE_DN( 435184008 )
CALL STATEMENT COMPLETE.

-----------------------------------------------------------------------------------------------------------------------------------------------

IBM Information Center

-----------------------------------------------------------------------------------------------------------------------------------------------

 1 CREATE PROCEDURE CREDITP(
 2     IN i_perinc DECIMAL(3,2),
 3     INOUT o_numrec DECIMAL(5,0))
 4 LANGUAGE SQL
 5 BEGIN atomic
 6     DECLARE proc_cusnbr CHAR(5);
 7     DECLARE proc_cuscrd DECIMAL(11,2);
 8     DECLARE numrec DECIMAL(5,0);
 9     DECLARE at_end INT DEFAULT 0;
10     DECLARE not_found CONDITION FOR '02000';
11     
12     DECLARE c1 CURSOR FOR
13         SELECT cusnbr, cuscrd
14         FROM ordapplib.customer;
15         
16     DECLARE CONTINUE HANDLER FOR not_found
17         SET at_end = 1;
18         
19     SET numrec = 0;
20     OPEN c1;
21         FETCH c1 INTO proc_cusnbr, proc_cuscrd;
22         WHILE at_end = 0 DO
23             SET proc_cuscrd = proc_cuscrd +(proc_cuscrd * i_perinc);
24             UPDATE ordapplib.customer
25             SET cuscrd = proc_cuscrd
26             WHERE CURRENT OF c1;
27             SET numrec = numrec + 1;
28             FETCH c1 INTO proc_cusnbr, proc_cuscrd;
29         END WHILE;
30         
31         SET o_numrec = numrec;
32     CLOSE c1;
33 END
View Code

优质内容筛选与推荐>>
1、大数据概述
2、dto
3、字符串与二进制的转换
4、Day7 2018-06-23 (2018-06-14 23:00)
5、[C# 线程处理系列]专题二:线程池中的工作者线程


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn