如何在Windows下更改SQL Plus中的当前目录.
我正在尝试用几个"@ filename"命令编写一个脚本.
我知道可以使用File - > Open命令打开一个脚本,这将更改当前目录,但我正在寻找一种自动无人值守的方法.
基于Plasmer的响应,我在Windows中设置了SQLPATH环境变量,并且得到了一些对我来说足够好的东西.我没有尝试使用HOST命令设置它(我怀疑它会起作用).
Pourquoi Litytestdata的答案很好,但对我不起作用(目录相距太远).当然盖伊回答说无法做到也是正确的.我将把这两个投票,并接受Plasmer的回答.
这就是我的工作.
定义一个变量来帮助你:
define dir=C:\MySYSTEM\PTR190\Tests\Test1 @&dir\myTest1.sql
您不能cd
在SQL*Plus中(您可以cd
使用host命令,但由于它是子进程,因此该设置将不会在您的父进程中保留).
我不认为你可以在SQL*Plus中更改目录.
您可以使用@@filename
,而不是更改目录,该脚本读取另一个脚本,该脚本的位置相对于当前脚本运行的目录.例如,如果您有两个脚本
C:\Foo\Bar\script1.sql C:\Foo\Bar\Baz\script2.sql
如果它包含该行,则script1.sql
可以运行script2.sql
@@Baz\script2.sql
请参阅此有关的详细信息@@
.
您是否可以使用SQLPATH环境变量告诉sqlplus在哪里查找您尝试运行的脚本?我相信你也可以使用HOST在脚本中设置SQLPATH.
如果两个脚本具有相同的名称并且两个目录都在SQLPATH中,则可能会出现问题.