2013-10-28 15 views
2

我有一個腳本,其中包含許多獨立的SQL塊。我在每個SQL塊的WHERE子句中使用一個替換變量。Oracle:如何連接替代變量以形成文件名的一部分?

例如:

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

環繞文件名以引號,例如:

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

感謝您的建議,我想它沒有成功。當我嘗試時發生了什麼是我提出了以下提示:'爲regionvalue_leave輸入值:' – user2593733

+0

爲regionvalue_leave輸入值: – user2593733

+0

抱歉,我認爲您需要添加一個「。」。在那裏,看看我的編輯;如果我得到時間,我會檢查這是否正確 –

0

除了給出了答案,以防止提示輸入值,使用:

SET VERIFY OFF 
+0

這不會實現你認爲它的作用。這將阻止輸出窗口向您顯示進行替換的位置。如果您尚未定義替換變量,您仍然會收到提示提供一個替代變量的提示。 – SandPiper

相關問題