DB2 儲存過程複製表結構、重命名錶、刪除表實現,及Mybatis如何呼叫
----Mybaits呼叫db2儲存過程 <update id="changeTableName" parameterType="java.util.Map" statementType="CALLABLE"> call PRO_RENAME_TABLE_CONSTRUCT( #{tableName,jdbcType=VARCHAR,mode=IN}, #{tableLikeName,jdbcType=VARCHAR,mode=IN} ) </update> <update id="createTableByLike" parameterType="java.util.Map" statementType="CALLABLE"> call PRO_COPY_TABLE_CONSTRUCT( #{tableName,jdbcType=VARCHAR,mode=IN}, #{tableLikeName,jdbcType=VARCHAR,mode=IN} ) </update> <update id="dropTableByTableName" parameterType="java.util.Map" statementType="CALLABLE"> call PRO_DROP_TABLE(#{tableName,jdbcType=VARCHAR,mode=IN}) </update> SET CURRENT SCHEMA = LOY; SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,LOY; CREATE OR REPLACE PROCEDURE LOY.PRO_COPY_TABLE_CONSTRUCT ( IN TABLEA VARCHAR(1000), IN TABLEB VARCHAR(1000) ) SPECIFIC SQL181018205715057 LANGUAGE SQL NOT DETERMINISTIC EXTERNAL ACTION MODIFIES SQL DATA CALLED ON NULL INPUT INHERIT SPECIAL REGISTERS OLD SAVEPOINT LEVEL --建立儲存過程 根據B表的表結構,建立表A BEGIN declare sSql varchar(1000) ; set sSql='create table '||tableA||' like '||tableB; prepare s1 from sSql; EXECUTE s1; END;
SET CURRENT SCHEMA = LOY;
SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,LOY;
CREATE OR REPLACE PROCEDURE LOY.PRO_RENAME_TABLE_CONSTRUCT ( IN TABLEA VARCHAR(1000), IN TABLEB VARCHAR(1000) ) SPECIFIC SQL181019104542563 LANGUAGE SQL NOT DETERMINISTIC EXTERNAL ACTION MODIFIES SQL DATA CALLED ON NULL INPUT INHERIT SPECIAL REGISTERS OLD SAVEPOINT LEVEL –建立儲存過程 修改表明,將表名A改為表名B BEGIN declare sSql varchar(1000) ;
set sSql='rename table '||tableA||' to '||tableB;
prepare s1 from sSql;
EXECUTE s1;
END;
SET CURRENT SCHEMA = LOY;
SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,LOY;
CREATE OR REPLACE PROCEDURE LOY.PRO_DROP_TABLE ( IN TABLEA VARCHAR(1000) ) SPECIFIC SQL181019104816965 LANGUAGE SQL NOT DETERMINISTIC EXTERNAL ACTION MODIFIES SQL DATA CALLED ON NULL INPUT INHERIT SPECIAL REGISTERS OLD SAVEPOINT LEVEL –建立儲存過程 修改表明,將表名A改為表名B BEGIN declare sSql varchar(1000) ;
set sSql='drop table '||tableA;
prepare s1 from sSql;
EXECUTE s1;
end;
==========================
結束語:不積跬步無以至千里,不積小流無以成江河
V: 18612372242 歡迎交流指點。