我正在编写一个脚本(000-Install.sql)来在sqlplus控制台中执行多个sql脚本(001-sys.tab,002-enca.tab等)。
因此,首先,我只添加两个脚本:
-- 000-Install.sql
spool upgradeSP1Ora.log
start 001-sys.tab;
start 002-enca.tab;
commit;
以下是包含的脚本的内容:
-- 001-sys.tab
select * from empr;
/
-- start 002-enca.tab
select * from dte_enca_docu;
/
但出于某种原因,执行提示如下:
CODI_EMPR NOMB_EMPR GIR
---------- ---------------------------------------- ---
DIRE_EMPR CODI_COM CODI_CIU RUTT_EMPR
-------------------------------------------------- -------- -------- -------
D CODI_RAMO NFAN_EMPR CODI_PERS
- ------------ ---------------------------------------- ----------------
EMPR_CODG EMPR_NOMB FONO_EMPR
---------- ---------------------------------------- --------------------
RUTT_REPL D NOMB_REPL CAC MUT POMU_EMPR POCA_EMPR
---------- - ----------------------------------- --- --- ---------- -------
FECA_EMP FEMU_EMP CIN CUEN_EMPR CAJ COLOR_EMPR LOGO_EMPR
-------- -------- --- ------------ --- --------------- ---------------
CODI_EMEX CLAV_ENCR
------------------------------ ------------------------------
ASUN_FACT_EMPR
---------------------------------------------------------------------------
TEXT_FACT_EMPR
----------------------------------------------------------------------------
385
第二个脚本(start 002-enca.tab)永远不会执行。
问题是我的脚本文件的执行没有正确完成(至少它看起来像这样),这会阻止我的第二个脚本正在运行。
注意:如果我按回车键,数字385将递增 1,如果我按CTRL+c,则执行将被取消。
尝试脚本的以下内容:
-
000-安装.sql
set termout off spool upgradeSP1Ora.log @ 001-sys.tab; @ 002-enca.tab; spool off commit; exit;
-
001-系统标签
select * from empr;
-
002-enca.tab
select * from dte_enca_docu;
执行 SQL*Plus 作为:
sqlplus -l -s user/pass@tnsname @ 000-Install