DB2 load数据加载及cmd 用法日志归档用法

SET SCHEMA TSISUSR ;

CREATE PROCEDURE "TSISUSR"."PROC_MIGRATE_TWCSDATA_NAME"

 (OUT "PO_I_RETCODE" INTEGER,

  OUT "PO_S_RETTEXT" VARCHAR(8000),

  OUT "PO_S_RETINFO" VARCHAR(200),

  IN "PI_D_DATE" DATE,

  IN "PI_S_TASKID" BIGINT,

  IN "PI_S_TASKNUM" VARCHAR(10),

  IN "V_I_LASTERRORSTEP" BIGINT

 )

  SPECIFIC "TSISUSR"."SQL180706191131978"

  LANGUAGE SQL

  NOT DETERMINISTIC

  CALLED ON NULL INPUT

  EXTERNAL ACTION

  OLD SAVEPOINT LEVEL

  MODIFIES SQL DATA

  INHERIT SPECIAL REGISTERS

  -- SQL 存储过程     

   -- PO_I_RETCODE 返回码(0-成功,其他-失败)

-- PO_S_RETTEXT 返回最后执行语句

-- PO_S_RETINFO        返回码文本说明

-- PI_D_DATE        账务日期

-- PI_S_TASKID        自增任务ID

-- PI_S_TASKNUM        任务编号

-- v_i_lasterrorstep 上次错误步骤

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

-----****************    功能说明    ****************** ------------

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

-- 国库事后监督情况报告表

--db2 "call PROC_MIGRATE_TWCSDATA(?,?,?,'2018-03-10',861,'00034',84)"

P1: BEGIN

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

-------*****************1.变量声明**********************--------------

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

-- 声明变量

DECLARE v_Stmt VARCHAR(5000) DEFAULT ' ';

DECLARE v_Stmt_tmp1 VARCHAR(100) DEFAULT ' ';

DECLARE v_Stmt_tmp2 VARCHAR(5000) DEFAULT ' ';

DECLARE v_Stmt_tmp3 VARCHAR(100) DEFAULT ' ';

DECLARE v_Stmt_tmp4 VARCHAR(5000) DEFAULT ' ';

DECLARE v_Stmt_tmp5 VARCHAR(5000) DEFAULT ' ';


    --表定义

DECLARE v_tbl_target            VARCHAR(100) DEFAULT '';

--库定义

    DECLARE v_database_sdb             VARCHAR(20) DEFAULT '';

-- 声明错误代码

DECLARE SQLCODE INT DEFAULT 0;

DECLARE CODE INT DEFAULT 0;

DECLARE SQLSTATE CHAR(5) DEFAULT '00000';

DECLARE v_s_errmsg VARCHAR(500) DEFAULT ' ';

DECLARE v_i_step INT DEFAULT 0;

DECLARE v_s_errtype varchar(100) DEFAULT ' ';

-- 声明异常处理

DECLARE exit handler for SQLEXCEPTION

begin

GET DIAGNOSTICS EXCEPTION 1 v_s_ErrMsg = MESSAGE_TEXT;

    SET CODE = SQLCODE;

    values(CODE,'错误状态:'||SQLSTATE||'错误步骤:'||v_i_step||' 说明:'||v_s_ErrMsg,v_Stmt) into po_i_RetCode,po_s_RetINFO,po_s_RETTEXT;

insert into tl_loadmergeerror values (PI_S_TASKID,PI_S_TASKNUM,v_s_errtype,CODE||v_s_errmsg,PI_D_DATE,current TIMESTAMP,v_i_step);

            IF '-668' = CODE or '-3502'= CODE or '-911'= CODE THEN

CALL SYSPROC.ADMIN_CMD('LOAD FROM /dev/null OF DEL TERMINATE INTO '||v_tbl_target||' ALLOW NO ACCESS');

END IF;

end;

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

    -----------************2.查询条件**********---------------

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

SET v_Stmt_tmp1 = 'load from (database ';

SET v_database_sdb = ' TSISSDB ';

SET v_Stmt_tmp2 = ' select * from TABLE';

SET v_Stmt_tmp3 = ') of cursor warningcount 1 ';--warningcount 1

SET v_Stmt_tmp4 = ' insert into ta_HAND_GZJKSYL ';

SET v_Stmt_tmp5 = ' COPY YES TO /loadtmp DATA BUFFER 32767  ALLOW READ ACCESS LOCK WITH FORCE';

----TC_TV_IN_CORRHANDBOOK_ORI ta_HAND_GZJKSYL

SET v_i_step = 1;

SET v_Stmt_tmp2 = ' SELECT  C_BDGKIND,C_BDGLEVEL,C_DIVTYPE,C_TRIMFLAG,D_ACCEPT,D_ACCT,F_CORRAMT,I_CHGNUM,I_OFMONTH,I_SEQNO,S_AIMTRECODE,S_ASTFLAG,S_BDGSBTCODE,S_BIZTYPE,S_BOOKORGCODE,S_CHECKERID,S_CORRBIZTYPE,S_INPUTERID,S_PAYEETRECODE,S_REASONCODE,S_TAXORGCODE,S_TRASRLNO,S_TRASTATE,S_VOUNO,TS_SYSUPDATE,''0'',''TC_TV_IN_CORRHANDBOOK_ORI'' from TC_TV_IN_CORRHANDBOOK_ORI ';

SET v_Stmt_tmp4 = 'insert into ta_HAND_GZJKSYL(C_BDGKIND,C_BDGLEVEL,C_DIVTYPE,C_TRIMFLAG,D_ACCEPT,D_ACCT,F_CORRAMT,I_CHGNUM,I_OFMONTH,I_SEQNO,S_AIMTRECODE,S_ASTFLAG,S_BDGSBTCODE,S_BIZTYPE,S_BOOKORGCODE,S_CHECKERID,S_CORRBIZTYPE,S_INPUTERID,S_PAYEETRECODE,S_REASONCODE,S_TAXORGCODE,S_TRASRLNO,S_TRASTATE,S_VOUNO,TS_SYSUPDATE,s_AuditResult,s_SrcTableCode)';

SET v_tbl_target = 'ta_HAND_GZJKSYL';

SET v_Stmt = v_Stmt_tmp1||v_database_sdb||v_Stmt_tmp2||v_Stmt_tmp3||v_Stmt_tmp4||v_Stmt_tmp5;

IF v_i_step>=v_i_lasterrorstep  THEN

CALL SYSPROC.ADMIN_CMD(v_Stmt);

    commit;

END IF;

 END P1;

猜你喜欢

转载自blog.csdn.net/m0_37604866/article/details/80953836
今日推荐