sqlplus 中的脚本无法执行多个脚本
Script in sqlplus that fails in executing several scripts
我正在编写一个脚本 (000-Install.sql) 来执行几个 sql 脚本 ( 001-sys.tab,002-enca.tab 和其他),在 sqlplus 控制台中。
首先,我只添加了两个脚本:
-- 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)永远不会执行。
问题是我的脚本文件的执行没有正确完成(至少看起来是这样),这阻止了我的第二个脚本 运行.
注意: 如果我按 enter,数字 385 将递增 1,并且如果我点击 CTRL + c 执行被取消。
尝试以下脚本内容:
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*加为:
sqlplus -l -s user/pass@tnsname @ 000-Install
我正在编写一个脚本 (000-Install.sql) 来执行几个 sql 脚本 ( 001-sys.tab,002-enca.tab 和其他),在 sqlplus 控制台中。
首先,我只添加了两个脚本:
-- 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)永远不会执行。
问题是我的脚本文件的执行没有正确完成(至少看起来是这样),这阻止了我的第二个脚本 运行.
注意: 如果我按 enter,数字 385 将递增 1,并且如果我点击 CTRL + c 执行被取消。
尝试以下脚本内容:
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*加为:
sqlplus -l -s user/pass@tnsname @ 000-Install