2014-04-04 60 views
0

是否有辦法執行開始命令,其中變量爲作爲名稱。其實,我需要提供改變的路徑,但文件名仍然是相同的,因此,我決定把值用戶變量通過定義或接受使用SQL * Plus中的變量執行開始命令

不過,我收到錯誤,當我發出:

define name /home/andres/myfile.sql 
start &name 

-- Same error 
start &name. 

-- With an env variable, the same problem appears. (defining name in the shell) 
start $name 
start %name% 

如何使用SQLPlus直接使用動態名稱執行腳本?我知道我可以從shell執行該操作,但這將取決於平臺。

最後,我正在使用CLPPlus,它應該具有與SQLPlus相同的行爲。

回答

1

它似乎在Unix上適用於我。下次請提供錯誤。 您的代碼錯誤:SP2-0136:DEFINE需要等號(=)

定義需要an =符號。

dual.sql

select * from dual; 

start.sql

start &1 

define filename=/home/oracle/dual.sql 

start &filename 

運行腳本

SQL> @start dual 

D 
- 
X 


D 
- 
X 
+0

感謝您的回答,我已經忘記了等號。 – AngocA

+0

我正在使用CLPPlus,並且出現此錯誤:DB250205E嘗試讀取文件'&.sql'失敗。這是CLPPlus控制檯中的DB2錯誤。 – AngocA