sqlplus 中的脚本在执行多个脚本时失败



我正在编写一个脚本(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

最新更新