SQL 脚本中的 SQL 查询

Posted

技术标签:

【中文标题】SQL 脚本中的 SQL 查询【英文标题】:SQL query inside a SQL Script 【发布时间】:2012-03-18 02:42:15 【问题描述】:

我有一个 SQL 脚本,它将数据假脱机到一个文件中。 现有 SQL 脚本示例:

whenever sqlerror exit failure rollback 
spool test.txt
set serveroutput on
select * from emp;
spool off
/

但是,我想在假脱机数据之前在这个脚本中编写一个 SQL 查询。 我不想硬编码假脱机文件的名称,那么如何从表或查找中获取文件名?

我希望代码类似于

var filename varchar2(30);
select fname into :filename from table where script = 'abcscript';
spool :filename
set serveroutput on
select * from emp;
spool off
/

谢谢。

【问题讨论】:

【参考方案1】:
COLUMN spool_file_name NEW_VALUE.spool_file_name NOPRINT 

select fname spool_file_name 
 from table where script = 'abcscript'; 

SPOOL &spool_file_name 

SET ECHO ON 

 select * from emp ;

SPOOL OFF 
COLUMN spool_file_name CLEAR

【讨论】:

以上是关于SQL 脚本中的 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

为啥执行存储过程比脚本中的 SQL 查询更快?

如何在一个脚本中使用 R 将 SQL 查询中的数据插入到单独的 SQL 查询中?

如何将sql查询输出存储在shell脚本中的变量中

相同的 SQl 查询在访问中运行,但在使用 java 的访问中的 sql 脚本中失败

使用 AS 语句的 Google App 脚本中的多行查询 SQL 出现“<ID>”错误

SQL 脚本需要改进,可以使用一些技巧