我正在编写脚本( 000-Install.sql )来执行多个sql脚本( 001-sys.tab sqlplus控制台中, 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 执行被取消。
答案 0 :(得分:1)
尝试以下脚本内容:
000-Install.sql
set termout off
spool upgradeSP1Ora.log
@ 001-sys.tab;
@ 002-enca.tab;
spool off
commit;
exit;
001-sys.tab
select * from empr;
002-enca.tab
select * from dte_enca_docu;
执行SQL * Plus:
sqlplus -l -s user/pass@tnsname @ 000-Install