在Korn Shell中运行pl / sql(AIX)

时间:2010-05-31 09:15:31

标签: oracle unix plsql ksh sqlplus

我有一个文件要在某人写的Ksh中执行。它有一组要在sqlplus中执行的命令。

首先是,

sqlplus -s $UP <<- END

后跟一组ddl命令,如create,drop等,

当我在shell中执行文件时,我在上面引用的起始行中得到错误。 我理解“-s”以静默模式启动sqlplus,$ UP是带有用户名/密码的连接字符串。但我无法做出“&lt;&lt; - END”部分的正面或反面(谷歌的许多网站都说输入重定向是“&lt;&lt;”而不是“&lt;&lt; - ”)。所以我假设错误必须在该部分并从文件中删除。 现在它读了,

sqlplus -s $UP 

但是一旦我执行了文件,它就会等待来自shell的输入,而不是从文件中读取其余的行。我如何让sqlplus在文件的其余部分执行ddl命令?提前谢谢。

1 个答案:

答案 0 :(得分:1)

此处“END”是块标记,不需要“ - ”。

为了从shell脚本运行sqls,下面给出一个简单的例子。

sqlplus system/manager << ENDOFSQL 

       whenever sqlerror exit sql.sqlcode;
       select sysdate from dual;
       exit;
ENDOFSQL

谢谢,

Rinson KE DBA