P_SG_CREATE_SCRIPT_BY_BATCH_CODE

DELIMITER ;;
  CREATE  PROCEDURE "P_SG_CREATE_SCRIPT_BY_BATCH_CODE"(in VAR_BATCH_CODE varchar(20))
BEGIN
DECLARE t_table VARCHAR(300);
DECLARE st_table VARCHAR(300);
DECLARE VAR_TRUNCATE_SQL_SCRIPT VARCHAR(500);
DECLARE VAR_INSERT_I_SQL_SCRIPT VARCHAR(4000);
DECLARE DONE INT DEFAULT(0);
DECLARE cur CURSOR FOR SELECT TDB||'.'||TNAME,TSOURCE||'.'||STNAME,TABLE_BATCH_CODE from BD_DB_I.SG_T_LOADCONFIG_INCR where TABLE_BATCH_CODE = VAR_BATCH_CODE;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
truncate BD_DB_I.SG_T_CREATE_SCRIPT;
OPEN cur;
REPEAT
FETCH cur INTO t_table,st_table,VAR_BATCH_CODE;
IF NOT done THEN
select 'truncate ' ||t_table|| ';' into VAR_TRUNCATE_SQL_SCRIPT;
select 'insert into  ' || t_table || ' select * from '|| st_table ||';' into VAR_INSERT_I_SQL_SCRIPT;
insert into BD_DB_I.SG_T_CREATE_SCRIPT (TAR_TABLE_ENAME,TRUNCATE_SQL_SCRIPT,INSERT_I_SQL_SCRIPT,TABLE_BATCH_CODE) values
(t_table,VAR_TRUNCATE_SQL_SCRIPT,VAR_INSERT_I_SQL_SCRIPT,VAR_BATCH_CODE);
END IF;
UNTIL DONE END REPEAT;
CLOSE cur;


END ;;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值