Oracle:如何连接替换变量以形成文件名的一部分?

时间:2013-10-28 03:37:37

标签: sql oracle sqlplus spool

我有一个脚本,其中包含许多独立的SQL块。我在每个SQL块的WHERE子句中使用了一个替换变量。

例如:

DEFINE regionValue="Townsville Region"  --yes, there is a space in the attribute value.

Select ...
From ...
WHERE region = '&&regionValue';

[这是查询的简化表示]

并且对每个不同的查询重复这一过程,因此多次使用一个替换变量。

我想将每个查询输出假脱机到一个单独的文件。 我想在文件名中使用替换变量。我觉得这很容易,唉,我错了。

我想要的结果是:

SPOOL c:\reports\Townsville Region_LEAVE.csv

Spool c:\reports\Townsville Region_OVERTIME.csv

还有更多。

我的问题:我如何连接替换变量以形成文件名的一部分?

2 个答案:

答案 0 :(得分:2)

用引号括起文件名,例如:

SPOOL "c:\reports\&&regionValue._LEAVE.csv"

答案 1 :(得分:0)

除了给出的答案外,为防止提示输入值,请使用:

SET VERIFY OFF