2013-01-18 33 views
-1

這個選擇可能是一個簡單的。基本上,在甲骨文的PL/SQL我從另一個數據庫中選擇:從變量

select * From [email protected]; 

我要的是價值061將從一個變量名(的MyStore)到來。

所以這將是這樣的:

select * from [email protected]||myStore||'081'; 

記住上述的MyStore將持有的價值061.

但上述不起作用?有人可以幫忙嗎?由於

回答

1

嗯,你不能直接在查詢中做到這一點,你必須使用動態SQL。

declare 
myStore varchar2(10):='061'; 
begin 
EXECUTE IMMEDIATE 'SELECT * FROM [email protected]'||myStore||'081'; 
end; 
+0

偉大我認爲應該工作,謝謝!另外,如果我想添加一個where子句,它可以是這樣的:declare myStore varchar2(10):='061';sStoreCode varchar2(10):='061'; 開始 EXECUTE IMMEDIATE 'SELECT * FROM [email protected]'||myStore||'081其中商店代碼= sStoreCode'; end; – user1941350

0

或者,也許這應該是這個樣子?

declare 
    myStore varchar2(10):='061'; 
    sStoreCode varchar2(10):='061'; 
begin 
    EXECUTE IMMEDIATE 'SELECT * FROM [email protected]'||myStore 
              ||'081 where storecode='||sStoreCode; 

end;