在结尾加
exit;declare
begin
  ...
end;
exit;

解决方案 »

  1.   

    你写的应该是PL/SQL脚本吧。我举个SQL脚本的例子:
    search.sql:
    -----------------------------
    select month, holiday
    from dayoff
    where month=&1;exit
    -----------------------------
    调用shell脚本:
    --------------------------------------------------
    echo start search.sql $* > search_temp.sql
    sqlplus -s userid/password@dbname @search_temp.sql
    #remove temporary files
    rm search_temp.sql 
    ---------------------------------------------------
    说明:其中&1表示接受的第一个参数。$*是shell传递给sql的参数。
      

  2.   

    sqlplus userid/password@dbname <sample.sql
      

  3.   

    应该这样
    sample.sql 
    --------------
    declare
    begin
      ...
    end;
    /
    exit;
    --------------sample.sh
    ------------------
    ORACLE_BASE=...
    ORACLE_HOME=...
    ORACLE_SID=...
    NLS_LANG=...
    ORA_NLS33=...sqlplus username/password@conn_string @/path/../sample.sql
    -------------------crontab
    * * * * * sh /path.../sample.sh
      

  4.   

    想退出,只要在程序尾,加exit;就行