1
我书面方式脚本(000-Install.sql)执行多个SQL脚本(001-sys.tab失败,002-ENCA .tab等),在sqlplus控制台中。脚本在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
而第二个脚本(开始002-en ca.tab)永远不会执行。
问题是我的脚本文件的执行没有正确完成(至少看起来是这样),并且阻止我的第二个脚本运行。
注:如果我按进入 加一的数量,如果我打CTRL +ç的执行将被取消。脚本的
谢谢@位于0xDB,你的回答让我在正确的轨道,但实际溶液中加入'/ '在一些脚本之后(不是每个脚本都需要一个脚本)。这是帮助我理解'/'需求的解决方案:https://stackoverflow.com/a/10207695/6780663。 –
@AlejandroMontilla欢迎您。只有带嵌入块的语句需要斜杠,因为分号结束块而不是完整的语句。 select不需要,因为分号结束并执行带下划线的语句。因此我删除了斜杠。 – 0xdb
我明白了,谢谢你的澄清,你是对'select's不需要'/',在我的情况下只有具有'CREATE PROCEDURE'的脚本才需要它。 –