0
我使用Visual Studio 2010爲返回多行的某些存儲過程創建數據庫單元測試。在SQL Server中很容易,我只是執行了存儲過程(EXEC MyProcedure 9999),並且行自動返回,因此我可以使用測試設計器來檢查結果集。使用Visual Studio 2010單元測試Oracle存儲過程
現在我正在嘗試爲Oracle編寫相同的測試;但是,Oracle存儲過程使用遊標輸出參數來返回結果。例如存儲過程的簽名是這樣的:
PROCEDURE MyProcedure
(
v_ItemId IN NUMBER,
io_cursor IN OUT t_cursor
) AS...
,因爲它需要一個指針作爲參數,我需要聲明一個在我的測試。看着張貼在這一主題的其他問題,我能夠創造這樣的:
DECLARE
refcsr SYS_REFCURSOR;
BEGIN
MyProcedure (9999, refcsr);
END;
我知道refcsr包含我的結果,但我的問題是如何讓我的光標的內容可見的設置結果Visual Studio測試框架?
它可能是我完全沒有與Oracle的知識,但我已經試過了,我永遠無法得到甲骨文接受的語法。以第一行爲例,'variable x refcursor'給了我'ORA-00900:無效的SQL語句'。 – user171197
以上需要在sqlplus中運行。我假設你想把它作爲一個單元測試來運行。 SQL腳本最適合執行此任務。 – steve
我正在使用Visual Studio中的單元測試框架,它通過ODP.NET連接到數據庫。 – user171197