使用SQL * Plus中的变量执行Start命令

时间:2014-04-04 12:44:12

标签: oracle db2 sqlplus

是否可以使用变量作为名称执行 start 命令。实际上,我需要提供一个更改的路径,但文件名仍然相同,因此我决定通过Define或Accept

将值放入用户变量中

但是,我发出错误时收到错误:

define name /home/andres/myfile.sql
start &name

-- Same error
start &name.

-- With an env variable, the same problem appears. (defining name in the shell)
start $name
start %name%

如何直接从SQLPlus执行带有动态名称的脚本?我知道我可以从shell那样做,但这将取决于平台。

最后,我正在使用CLPPlus,它应该具有与SQLPlus相同的行为。

1 个答案:

答案 0 :(得分:1)

在Unix上似乎对我有用。下次请提供错误。 您的代码错误:SP2-0136:DEFINE需要等号(=)

定义需要an = sign。

dual.sql

select * from dual;

start.sql

start &1

define filename=/home/oracle/dual.sql

start &filename

运行脚本

SQL> @start dual

D
-
X


D
-
X