0
我與signiture一個Oracle存儲過程:(包的一部分:承包人),可執行的Oracle存儲過程
我試圖執行它想:
execute Contractor.usp_sel_contractors;
我已經習慣了MSSQLSERVER。這似乎應該是海峽前進。
我不斷收到錯誤:
Invalid Sql Statement
謝謝!
我與signiture一個Oracle存儲過程:(包的一部分:承包人),可執行的Oracle存儲過程
我試圖執行它想:
execute Contractor.usp_sel_contractors;
我已經習慣了MSSQLSERVER。這似乎應該是海峽前進。
我不斷收到錯誤:
Invalid Sql Statement
謝謝!
假設sel_contractor是一個REF CURSOR類型,你可以在SQL Plus中做到這一點:
var rc refcursor
exec usp_sel_contractors(:rc)
print rc
我不知道爲什麼你會得到那個特定的錯誤信息,但顯而易見的問題是該過程有一個參數,你沒有通過一個。由於它是一個OUT參數,因此您需要傳遞一個適當類型的變量,該變量將由過程填充。
例如:
DECLARE
my_contractors sel_contractor;
BEGIN
usp_sel_contractors(my_contractors);
// Do something with the contents of my_contractors here
END;
/
什麼是 「sel_contractor」 - 一個參考遊標? – 2011-02-01 13:31:29
沒有它的用戶存儲過程。作爲承包商的一部分。 `執行Contractor.usp_sel_contractors`也有同樣的效果 – kralco626 2011-02-01 13:33:06
不,我問的是「sel_contractor」,而不是「usp_sel_contractor」 - 「OUT」後面的單詞。 – 2011-02-01 13:35:58