DB2存储过程

2 篇文章 0 订阅
1 篇文章 0 订阅

DB2存储过程

  • 存储过程适用场景

         当需求只涉及数据转移,如报表跑批,历史数据迁移等。可以考虑使用存储过程实现需求。

  • 存储过程注意事项。
  1. Dbvisualizer 中是无法直接创建存储过程的。因为编译器会把存储过程识别为多条sql来执行,即一个;为一条sql。
  2. 可以通过改变终止符为@的方式,让编译器不在以;作为sql的结束条件。eg: end@
  3. 可以在编译器中用--/ PROCEDURE/,的方式创建存储过程。
  • 简单的存储过程示例(Dbvisualizer 中创建)

--/

CREATE OR REPLACE PROCEDURE AAS.TEST_PROCEDURE(IN START_DATE VARCHAR(8),IN END_DATE VARCHAR(8)) –创建或者替换存储过程

SPECIFIC TEST_PROCEDURE –-声明

LANGUAGE SQL –声明

BEGIN –开始

   DECLARE V_START_TIME TIMESTAMP; --声明(创建)变量

   DECLARE V_END_TIME TIMESTAMP;

   SET V_START_TIME = TO_DATE(START_DATE,'YYYY-MM-DD');--变量赋值

   SET V_END_TIME = TO_DATE(END_DATE,'YYYY-MM-DD');

 

   TIME_LOOP: --自定义循环标示

   LOOP --loop 循环

   INSERT INTO AAS.TEST VALUES(TO_CHAR(V_START_TIME,'YYYY-MM-DD'));--执行sql

   SET V_START_TIME = V_START_TIME + 1 DAYS;

        IF(V_START_TIME>V_END_TIME)

                THEN LEAVE TIME_LOOP; --退出循环

        END IF;

   END LOOP TIME_LOOP;

   COMMIT; --提交事务

END –结束

/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值