@ 命令在 SQL PLUS(操作系统 HP-unix)中不起作用
我有一个 sql 文件(abc.sql),其中包含一些代码。我可以使用“run”命令运行它,
SQL> run abc.sql
1* select 1 from dual
1
SQL>
但无法使用“@”命令执行。如果我使用 @ 执行,它只会返回到 SQL 提示符而不执行此文件。
SQL> @abc.sql
SQL>
SQL>
您能帮我解决这个问题吗?
仅供参考,我在 HP-unix (Tru64 UNIX V5.1B (Rev. 2650)) 上使用 Oracle 8.1.7.4.0
I have a sql file (abc.sql) which contains some code. I am able to run this using "run" command as
SQL> run abc.sql
1* select 1 from dual
1
SQL>
But not able to execute using "@" command. If i execute using @ it just return to the SQL prompt without executing this file.
SQL> @abc.sql
SQL>
SQL>
Could you please help me in resolving this issue?
FYI, I m using Oracle 8.1.7.4.0 on HP-unix (Tru64 UNIX V5.1B (Rev. 2650)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
run
不执行文件的内容。相反,它运行缓冲区的内容。该纪录片(
http://download.oracle.com/docs /cd/E11882_01/server.112/e16604/ch_twelve037.htm#sthref1803 ) 表示
R[UN]
列出并执行当前存储在 SQL 缓冲区中的 SQL 命令或 PL/SQL 块。
该缓冲区没有命令历史列表,并且不记录 SQL*Plus 命令。
用法
RUN 使 SQL 缓冲区的最后一行成为当前行。
斜杠命令 (/) 的功能与 RUN 类似,但不会在屏幕上列出 SQL 缓冲区中的命令。 SQL 缓冲区始终包含最后输入的 SQL 语句或 PL/SQL 块。
您可能将
run
误认为是start
命令。run
does not execute a file's content. Rather, it runs the content of the buffer.The docu (
http://download.oracle.com/docs/cd/E11882_01/server.112/e16604/ch_twelve037.htm#sthref1803 ) says
R[UN]
Lists and executes the SQL command or PL/SQL block currently stored in the SQL buffer.
The buffer has no command history list and does not record SQL*Plus commands.
Usage
RUN causes the last line of the SQL buffer to become the current line.
The slash command (/) functions similarly to RUN, but does not list the command in the SQL buffer on your screen. The SQL buffer always contains the last SQL statement or PL/SQL block entered.
You are probably misstaking
run
for thestart
command.在您的文件中,您是否
执行行 (/)
Edit并查看缓冲区的内容:
需要告诉 sql 引擎在 @ 输入“EDIT”后
within your file do have
you need to tell the sql engine to execute the line (/)
Edit
after the @ type in "EDIT" and see what the buffer says: