由于使用SELECT的Insert语句中的“FROM”文本导致的flyway错误

时间:2015-09-23 19:13:28

标签: flyway

使用Flyway 3.2.1。在Windows中从命令行调用。

由于flyway的解析问题,此行似乎导致错误。将来的版本中是否有可用的修复程序?

声明失败: INSERT INTO CODE_TYPE_DISPLAY_TEMP(OBJECT_ID,LANG_CD,CREATE_DT,CREATE_USER_CD,DISPLAY_TXT)(选择CD_TYP_ID,'AMERICAN',SYSDATE,'CONVERSION','从期限类型'从CODE_TYPE WHERE CD_GRP_CD ='DDE_FIELD_NME_TYP'和CD_TYP_CD ='FROM_TERM_PERIOD_DT_TYP');

解: 添加了||在FROM单词中,现在它起作用了。

INSERT INTO CODE_TYPE_DISPLAY_TEMP(OBJECT_ID,LANG_CD,CREATE_DT,CREATE_USER_CD,DISPLAY_TXT)(SELECT CD_TYP_ID,'AMERICAN',SYSDATE,'CONVERSION','Fr'||'om Term Period Type'FOR CODE_TYPE WHERE CD_GRP_CD ='DDE_FIELD_NME_TYP' AND CD_TYP_CD ='FR'||'OM_TERM_PERIOD_DT_TYP');

插入失败的另一个例子。

--##################################################################################
--## Table(s) UPDATED: LABEL and
--##                   LABEL_DISPLAY
--##
--##
--## NOTE: The user can now modify the Display_txt. 
--##       Rule: In Label_Display> If DT != ODT then the user has modifed.
--##
--##       {-13} in txt is converted to a CR
--##       {-10} in txt is converted to a LF
--##
--##################################################################################
--SET SERVEROUTPUT ON SIZE UNLIMITED;

begin
DBMS_OUTPUT.PUT_LINE('SCRIPT' || '_FYI:> ' || TO_CHAR (SYSDATE, 'HH24:MI:SS') || '>===========================');
DBMS_OUTPUT.PUT_LINE('SCRIPT' || '_FYI:> ' || TO_CHAR (SYSDATE, 'HH24:MI:SS') || '>= PROCESS LABELS   <STARTS>');
DBMS_OUTPUT.PUT_LINE('SCRIPT' || '_FYI:> ' || TO_CHAR (SYSDATE, 'HH24:MI:SS') || '>===========================');
end;
/



-------------------------------------------------------
-- STEP 2
-- Create the table to hold the raw data from .dat files
-------------------------------------------------------
CREATE TABLE DB_GIT_LABEL
(                                                         -- < TGT TBL MAPPINGS >                
LABEL_ID                    VARCHAR2(10 CHAR),            -- Label_ID                           
LABEL_KEY                   VARCHAR2(100 CHAR),           -- Label_Key                         
MAX_SHORT_LENGTH_NBR        VARCHAR2(3 CHAR),             -- Max_Short_Length_Nbr                            
DISPLAY_TXT                 VARCHAR2(4000 CHAR)           -- [LABEL_DISPLAY] Display_Txt, Short_Display_Txt, Orig_Display_Txt                    
);


--######################################################################################
--# STEP 3
--# Inserts go here
--# SAMPLE: INSERT INTO DB_GIT_LABEL VALUES('LABEL_ID','LABEL_KEY','30','DISPLAY_TXT');
--######################################################################################

INSERT INTO DB_GIT_LABEL VALUES('0000','0518.fr' || 'om','30','Fr' || 'om');
INSERT INTO DB_GIT_LABEL VALUES('0001','0518.from','30','From');



--######################################################################################
--######################################################################################
COMMIT;
--######################################################################################
--######################################################################################


----------------------------------
-- DROP THE TEMP TABLE(S)
----------------------------------
DROP TABLE DB_GIT_LABEL cascade constraints purge;




begin
DBMS_OUTPUT.PUT_LINE('SCRIPT' || '_FYI:> ' || TO_CHAR (SYSDATE, 'HH24:MI:SS') || '>===========================');
DBMS_OUTPUT.PUT_LINE('SCRIPT' || '_FYI:> ' || TO_CHAR (SYSDATE, 'HH24:MI:SS') || '>= PROCESS LABELS     <ENDS>');
DBMS_OUTPUT.PUT_LINE('SCRIPT' || '_FYI:> ' || TO_CHAR (SYSDATE, 'HH24:MI:SS') || '>===========================');
end;
/

0 个答案:

没有答案