ITPub博客

首页 > 数据库 > Oracle > Oracle 循环调用动态SQL语句

Oracle 循环调用动态SQL语句

原创 Oracle 作者:feelpurple 时间:2016-01-22 17:32:38 0 删除 编辑
有时候需要批量循环调用存储过程或包,这时候使用循环语句调用动态 SQL 的方式很方便。

存储过程如下:



如果我们想要调用2016年1月14日到2016年16日这三天的数据,则可以这样写一个匿名块:

DECLARE
  plsql_block VARCHAR2(500);
  report_date DATE;
BEGIN
  for i in 0 .. 2 loop
    report_date := to_date('2016-01-14', 'yyyy-mm-dd') + i;
    -- Dynamic PL/SQL block invokes subprogram:
    plsql_block := 'BEGIN P_INSERT_BONUSDETAIL(:a); END;';
  
    /* Specify bind arguments in USING clause.
    Specify mode for first parameter.
    Modes of other parameters are correct by default. */
  
    EXECUTE IMMEDIATE plsql_block
      USING IN OUT report_date;
  END LOOP;
END;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26506993/viewspace-1980895/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-08-01

  • 博文量
    404
  • 访问量
    1673942