mybatis 動態建立表、主鍵、索引、註釋
阿新 • • 發佈:2021-07-14
1.xxxMapper.xml檔案
<!--建立日誌表--> <update id="createTablelog"> <![CDATA[ DECLARE lsql varchar2(4000); pk varchar2(50) := '主鍵'; BEGIN lsql := ' CREATE TABLE ${tableName} ( ID VARCHAR(32) DEFAULT SYS_GUID(), TS_ID NUMBER(12), TABLE_NAME VARCHAR2(200), PRIMARY_KEY VARCHAR2(200), PRIMARY_VALUE VARCHAR2(200), START_TIME TIMESTAMP, END_TIME TIMESTAMP, LOG_TYPE CHAR(1), STATE CHAR(1), MSG VARCHAR2(4000), CONSTRAINT ${primaryKey} PRIMARY KEY (ID) USING INDEX)'; EXECUTE IMMEDIATE lsql; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'ID'|| ' IS ''' || '主鍵' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'TS_ID'|| ' IS ''' || '歸集任務表主鍵' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'TABLE_NAME'|| ' IS ''' || '歸集任務源表英文名稱(即歸集庫中的表英文名稱)' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'PRIMARY_KEY'|| ' IS ''' || '資源表主鍵,多個以英文逗號隔開' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'PRIMARY_VALUE'|| ' IS ''' || '資源表主鍵值,多個以英文逗號隔開' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'START_TIME'|| ' IS ''' || '歸集開始時間' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'END_TIME'|| ' IS ''' || '歸集結束時間' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'LOG_TYPE'|| ' IS ''' || '1、前置機歸集,2、檔案歸集,3、API介面歸集' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'STATE'|| ' IS ''' || '歸集狀態,A成功,X失敗' || ''''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ' || '${tableName}' ||'.'||'MSG'|| ' IS ''' || '歸集資訊' || ''''; EXECUTE IMMEDIATE 'COMMENT ON TABLE ' || '${tableName}' || ' IS ''' || '歸集日誌表' || ''''; lsql := 'create index ${indexNameTs} on ${tableName} (TS_ID)'; EXECUTE IMMEDIATE lsql; lsql := 'create index ${indexNameTab} on ${tableName} (TABLE_NAME)'; EXECUTE IMMEDIATE lsql; END;]]> </update>