SQL 开发者脚本输出到数据网格

SQL Developer script output to datagrid

在 Oracle SQL Developer 中,我可以在 'Query Results' 网格中获取返回的简单查询结果,但是如果我需要在脚本中使用变量,我需要使用 'Run Script'选项,我的结果显示在 'Script Output' window 中,我无法将其导出为 csv 格式。这是我的示例代码:

    var CatCode char(5) ;
    exec :CatCode := 'ZK';
    SELECT * FROM Products WHERE CategoryCode = :CatCode;

如有任何帮助,我们将不胜感激。 谢谢

只需将 /*csv*/ 添加到您的查询中,该工具将在作为脚本 (F5) 执行时自动返回 CSV 格式的输出。

或者改用替换变量。 &Var vs :Var, 运行 使用 F9,SQLDev 会提示您输入值。

VAR stcode CHAR(2);

EXEC :stcode := 'NC';

SELECT /*csv*/
    *
  FROM
    untappd
 WHERE
    venue_state   =:stcode;

或者直接转到网格,这样您就可以使用网格导出功能。

SELECT
    *
  FROM
    untappd
 WHERE
    venue_state   =:stcode2;

使用 Ctrl+Enter 或 F9 执行

在弹出的对话框中输入参数,点击确定。

沙扎姆。

给你,你可以运行这一点得到保证。 运行宁。

    set colsep ,     -- separate columns with a comma
    set pagesize 0   -- No header rows
    set trimspool on -- remove trailing blanks
    set headsep off  -- this may or may not be useful...depends on your headings.
    set linesize X   -- X should be the sum of the column widths
    set numw X       -- X should be the length you want for numbers (avoid scientific notation on IDs)

    spool C:\Users\**direcotory**\sql\Test1.csv; --this is file path to save data
    var CatCode char(5) ;
    exec :CatCode := 'ZK';
    SELECT * FROM Products WHERE CategoryCode = :CatCode;
    spool off;

感谢@thatjeffsmith 和 Paras,假脱机选项给了我新的方向并且它起作用了。我稍微更改了您的代码,效果很好。

var CatCode char(5) ;
exec :CatCode := 'ZK';
set feedback off;
SET SQLFORMAT csv;
spool "c:\temp\spoolTest.csv"
SELECT * FROM Products WHERE CategoryCode = :CatCode;
spool off;
SET SQLFORMAT;
set feedback on;