我在
中有一个sql脚本dir:\some\path\script.sql
此脚本通过SqlDeveloper执行,spool
将一些数据执行到
dir:\some\path\data\tablename.csv
现在,我必须将脚本存储在.sql文件中,因为如果我直接从SqlDeveloper执行它,spool
会将查询本身写入我不想要的文件。
但是我也不想硬编码路径,因为我团队中的每个人都有他们想要的GIT仓库,所以我想要实现的场景是我的sql脚本使用它的相对路径&#39 ; s写入csv文件的位置。
目前script.sql看起来像这样:
SET COLSEP ";"
spool dir:\some\path\data\table1.csv
select /*csv*/ * from table1;
spool off;
我希望看起来像这样
SET COLSEP ";"
spool current_dir\data\table1.csv
select /*csv*/ * from table1;
spool off;
因此,在使用脚本时,只需在调用脚本时输入一次路径。
答案 0 :(得分:0)
更多的解决方法而不是问题的解决方案,但是现在我刚刚在与scriptRunner.sql
相同的目录中创建了一个script.sql
文件,它只运行脚本(@script.sql
) 。
打开此文件时,似乎SqlDevelopers工作目录设置为两个.sql
文件所在的目录,并且此属性已扩展到被调用脚本,因此我可以简单地使用
spool data\table1.csv