存储过程及其输出
回答
返回游标变量;用SELECT .. FROM DUAL打开您希望从过程返回的值的游标变量。
该过程将返回一个游标,返回包含这些值的单个行。
从你的程序做
OPEN resultsCursor_ FOR
Select 1 As aValue FROM DUAL;
OR
CREATE OR REPLACE PROCEDURE GetAValue
(
results_ OUT SYS_REFCURSOR
)
IS
MY_COUNT_ INT;
BEGIN
MY_COUNT_ := 10;
OPEN results_ FOR
SELECT MY_COUNT_ AS MyCount FROM DUAL;
END GetAValue;
过程不能返回一个值;你需要一个功能来做到这一点。
如果你真的想要一个程序,“给”游标返回给调用者,可以 使用这样的事情:
--Declare this type in a package X
--The caller must have access to the package X.
TYPE ref_cursor IS REF CURSOR;
CREATE OR REPLACE
PROCEDURE test (
p_param1 IN VARCHAR2,
p_cur OUT X.REF_CURSOR,
p_error_code OUT NUMBER,
p_error_message OUT VARCHAR2
)
AS
BEGIN
OPEN p_cur FOR
SELECT * FROM TABLE;
EXCEPTION
WHEN OTHERS THEN
p_error_code := SQLCODE;
p_error_message := SQLERRM;
END;
如果没有错误设置,那么调用者可以执行该光标并针对它提取行。
经过这么多次尝试仍然没有运气。也许你可以指出,哪里出了问题,请。 – user1970875
哪里出问题了? 规格: 创建或更换包装CTI_MATRIX.AMD AS TYPE REF_CURSOR IS REF CURSOR; PROCEDURE AMD_NEEDMSG(v_CRN IN VARCHAR2,return_recordset OUT REF_CURSOR); END AMD; 体: CREATE OR REPLACE PACKAGE BODY CTI_MATRIX.AMD AS PROCEDURE AMD_NEEDMSG(v_CRN IN VARCHAR2,return_recordset OUT REF_CURSOR) IS BEGIN - END AMD_NEEDMSG; END AMD; TOAD失败块: DECLARE RETURN_RECORDSET AMD.REF_CURSOR;开始 RETURN_RECORDSET:= NULL; CTI_MATRIX.AMD.AMD_NEEDMSG('123456789',RETURN_RECORDSET); END; 错误:PLS-00382表达式是错误的类型行5 – user1970875
是;哪一行导致错误?我在11G中一直使用这个例子。如果你可以发布代码,我可以在这里进行测试。谢谢 –
- 1. 输出的存储过程
- 2. 存储过程不给出输出
- 3. 使用存储过程输出参数
- 4. MySQL的存储过程:输出参数
- 5. 执行存储过程输出脚本
- 6. 多个存储过程输出
- 7. 存储过程的输出参数
- 8. PHP + Oracle存储过程(多输出)
- 9. 调用带输出的存储过程
- 10. ADO.Net和存储过程输出参数
- 11. 德尔福存储过程输出
- 12. 从存储过程输出中选择
- 13. 存储过程输出参数asp.net c#
- 14. 存储过程 - 输出临时表
- 15. 存储过程输出参数
- 16. 将存储过程的输出
- 17. INSERT INTO的输出存储过程
- 18. 存储过程输出值到变量
- 19. Azure存储过程输出值
- 20. 手柄存储过程输出
- 21. 存储过程不输出结果
- 22. 存储过程输出变量
- 23. openRoad存储过程输出参数
- 24. 存储过程执行时无输出
- 25. SQL Server存储过程 - 输出参数
- 26. 存储过程有输出值
- 27. mysql存储过程输出多列
- 28. 控制存储过程输出
- 29. 存储过程输出错误
- 30. SQL Server存储过程参数输出
在这里寻找在Oracle中返回记录集的清晰示例:http://stackoverflow.com/questions/14305883/toad-displaying-cursor-recordset-returned-by-stored-procedure/14320426#14320426 – Art