2013-10-08 41 views
0

有誰知道我在下面的代碼中想要做什麼,如果有的話是什麼語法?這個問題是圍繞連接調用,用戶名似乎沒有正確生成。註釋掉的連接呼叫是我嘗試的另一個連接呼叫。PLSQL將腳本與連接參數相結合的SQL腳本

-- myscript.sql 
-- @params: 
-- 1 - Oracle database name eg. localhost 
-- 2 - Site (site01, site02 site03) 

connect systemname_%2_admin/[email protected]&1; 
--connect "systemname_" || "%2" || "_admin"/[email protected]&1;  
begin 

    --execution code here. 

end; 
/
disconnect; 

注意:調用確實需要這樣,因爲這將是一個自動腳本,爲不同的用戶名做不同的事情。

回答

0

您的參數將存儲在替換變量1,2等中。 您在腳本中使用&1,&2訪問它們(因此忘記%2,這是沒有意義的)。現在

您的問題是,&2_admin看起來像在sqlplus命名2_admin所以你只需要2點後添加一個點.替代變量用於分隔接下來置換變量的名稱中的字符。

你的連接將看起來像:

connect systemname_&2._admin/[email protected]&1 

(無;:這是一個SQLPLUS命令不是SQL語句)。