2013-10-30 29 views
0

考慮以下情況:傳遞價值的功能在SQL查詢

SELECT TestPkg.getData(123) FROM dual;

返回正確的結果,但

SELECT TestPkg.getData(SELECT TO_NUMBER('123') FROM dual) FROM dual; 

給出錯誤失蹤的表達,這是爲什麼呢?如何處理這種情況,我們正在將價值傳遞給依賴於查詢值的函數。

回答

0

我想你需要:

SELECT TestPkg.getData(TO_NUMBER('123')) FROM dual; 
3

評價你需要括號選擇結果:

SELECT TestPkg.getData((SELECT TO_NUMBER('123') FROM dual)) FROM dual; 

一對用於函數調用,一個用於選擇結果的評價。

+0

那是正確的,它的工作。 – eatSleepCode