"Unknown set option" 在 SQL 开发人员中创建假脱机脚本
"Unknown set option" in SQL developer which creating Spool script
我的代码如下-
set define on;
set spool on;
set SQLFORMAT csv;
set fpath = &folderpath;
spool @fpath/mycsvfile1.csv
select * from I_PTY;
spool off;
spool @fpath/mycsvfile2.csv
select * from I_LEG;
spool off;
我想将 folderpath
值作为 'C:\Documents\Spool'
传递。
并用这个值传递给变量fpath
,使得第5行传递的值等于'C:\Documents\Spool\mycsvfile1.csv'
但是,我得到的错误是:Unknown set option "fpath"
.
我哪里错了?请协助。
"set" 应该是 "define"
您可以通过两种方式做到这一点:
直接在假脱机命令中使用&&folderpath
即可,例如:
set spool on;
set sqlformat csv;
spool &&folderpath/mycsvfile1.csv
select * from i_pty;
spool off;
spool &&folderpath/mycsvfile2.csv
select * from i_leg;
spool off;
或者使用 DEFINE 来赋值(然后你必须以与之前答案相同的方式引用它,所以你什么也得不到,真的......):
set spool on;
set sqlformat csv;
define fpath = &folderpath
spool &&fpath/mycsvfile1.csv
select * from i_pty;
spool off;
spool &&fpath/mycsvfile2.csv
select * from i_leg;
spool off;
每次引用相同的替代变量时,使用双符号可阻止 Oracle 提示您输入值。如果您希望再次提示您的下一个脚本或此脚本的下一个 运行 输入文件夹路径的值,那么您将需要在末尾包含 undefine folderpath
(可能还有 undefine fpath
)剧本。
此外,您可能希望在脚本顶部包含 set verify off
。
N.B。您在假脱机文件名中使用了 @ - 那里没有位置。它仅在您 运行 编写脚本时使用。
尝试:
spool &folderpath./mycsvfile2.csv
我的代码示例:
spool c:\temp\SQL_Details_Report_&FILE_NAME..html
我的代码如下-
set define on;
set spool on;
set SQLFORMAT csv;
set fpath = &folderpath;
spool @fpath/mycsvfile1.csv
select * from I_PTY;
spool off;
spool @fpath/mycsvfile2.csv
select * from I_LEG;
spool off;
我想将 folderpath
值作为 'C:\Documents\Spool'
传递。
并用这个值传递给变量fpath
,使得第5行传递的值等于'C:\Documents\Spool\mycsvfile1.csv'
但是,我得到的错误是:Unknown set option "fpath"
.
我哪里错了?请协助。
"set" 应该是 "define"
您可以通过两种方式做到这一点:
直接在假脱机命令中使用&&folderpath
即可,例如:
set spool on;
set sqlformat csv;
spool &&folderpath/mycsvfile1.csv
select * from i_pty;
spool off;
spool &&folderpath/mycsvfile2.csv
select * from i_leg;
spool off;
或者使用 DEFINE 来赋值(然后你必须以与之前答案相同的方式引用它,所以你什么也得不到,真的......):
set spool on;
set sqlformat csv;
define fpath = &folderpath
spool &&fpath/mycsvfile1.csv
select * from i_pty;
spool off;
spool &&fpath/mycsvfile2.csv
select * from i_leg;
spool off;
每次引用相同的替代变量时,使用双符号可阻止 Oracle 提示您输入值。如果您希望再次提示您的下一个脚本或此脚本的下一个 运行 输入文件夹路径的值,那么您将需要在末尾包含 undefine folderpath
(可能还有 undefine fpath
)剧本。
此外,您可能希望在脚本顶部包含 set verify off
。
N.B。您在假脱机文件名中使用了 @ - 那里没有位置。它仅在您 运行 编写脚本时使用。
尝试:
spool &folderpath./mycsvfile2.csv
我的代码示例:
spool c:\temp\SQL_Details_Report_&FILE_NAME..html