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

发布于 2024-09-03 05:48:33 字数 470 浏览 11 评论 0原文

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

sqlplus -s $UP <<- END

以一组 ddl 命令开头,例如 create、drop 等,

当我在 shell 中执行该文件时,我在上面引用的起始行中收到错误。 我理解“-s”以静默模式启动sqlplus,$UP是带有用户名/密码的连接字符串。但我无法弄清楚“<<-END”部分的正反面(谷歌的许多网站都说输入重定向是“<<”而不是“<<-”)。所以我推测错误一定是在该部分并将其从文件中删除。 现在它读取,

sqlplus -s $UP 

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

I have a file to execute in Ksh written by someone. It has a set of commands to execute in sqlplus.

It starts with,

sqlplus -s $UP <<- END

followed by a set of ddl commands such as create,drop,etc.,

When I execute the file in the shell, I get the error in the starting line quoted above.
I understand "-s" starts the sqlplus in silent mode and $UP is the connection string with username/password. But I couldn't make heads or tails of "<<- END" part(Many sites from google says input redirection is "<<" not "<<-"). So I presumed the error must be in that part and removed it from the file.
Now it reads,

sqlplus -s $UP 

But once I execute the file, It waits for input from the shell, instead of reading the rest of the lines from the file. How would I make sqlplus to execute the ddl commands in the rest of the file?. Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅冕 2024-09-10 05:48:33

这里“END”是块标记,“-”不是必需的。

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

sqlplus system/manager << ENDOFSQL 

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

谢谢,

林森·克
数据库管理员

Here "END" is a block marker and "-" is not required.

For running sqls from a shell script , One simple example is given below.

sqlplus system/manager << ENDOFSQL 

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

Thanks,

Rinson KE
DBA

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文