测试Oracle存储过程的最简单方法

Jos*_*osh 9 asp.net oracle

我正在开发一个带有Oracle数据库的ASP.NET项目.我们使用TOAD来添加/管理存储过程 - 通常我喜欢TOAD和Oracle.我发现令人沮丧的一件事是找到一种简单的方法来测试Oracle Stored Proc,例如SQL Server的"exec [SP_NAME] Param1,Param2,ParamN"语法.

我们所有的存储过程都输出Ref Cursors.以下是存储过程的示例:

CREATE OR REPLACE PROCEDURE APP_DB1.GET_JOB
(
    p_JOB_ID IN JOB.JOB_ID%type,
    outCursor OUT MYGEN.sqlcur
)
IS
BEGIN
    OPEN outCursor FOR
    SELECT *
    FROM JOB
    WHERE JOB_ID = p_JOB_ID;
END GET_JOB;
/

有什么建议?

Bri*_*ian 13

您只需要一个调用存储过程的脚本,并为ref光标输出提供一个绑定变量,以便在编辑器窗口的TOAD网格中显示它.

DECLARE
 type result_set is ref cursor; 
BEGIN
 APP_DB1.GET_JOB(1, :result_set);
END;
Run Code Online (Sandbox Code Playgroud)

然后运行此TOAD将提示您'bind':result_set,只需从类型列表中选择ref cursor,然后结果将显示在网格中.诀窍是将自己视为调用存储过程的"客户端",并且需要自己的引用光标来存储结果.