我使用Visual Studio 2010为一些返回多行的存储过程创建数据库单元测试。在SQL Server中很简单,我只是执行了存储过程(EXEC MyProcedure 9999)并且行自动返回,因此我可以使用测试设计器来检查结果集。
现在我正在尝试为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测试框架的结果集显示?
答案 0 :(得分:0)
像这样的东西
variable x refcursor
exec MyProcedure(9999, :x)
print x