是否可以使用变量作为名称执行 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相同的行为。
答案 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