oracle - 调用带有 out 参数的 SP
问题描述
我有一个如下定义的存储过程:
PROCEDURE GetAccessRights(AAccessRights OUT CURSOR_TYPE) AS
BEGIN
OPEN AAccessRights FOR
SELECT AccessRightID, AccessUnitID, AccessObjectID, GrantRights, DenyRights
FROM AccessRights;
END;
然后我尝试从 SQL Developer 调用它:
DECLARE
QPZ DDKPROD.DDK.CURSOR_TYPE;
ACCESSRIGHTID AccessRights.ACCESSRIGHTID%TYPE;
ACCESSUNITID AccessRights.ACCESSUNITID%TYPE;
ACCESSOBJECTID AccessRights.ACCESSOBJECTID%TYPE;
GRANTRIGHTS AccessRights.GRANTRIGHTS%TYPE;
DENYRIGHTS AccessRights.DENYRIGHTS%TYPE;
BEGIN
DDK.GETACCESSRIGHTS(qpz);
LOOP
FETCH
QPZ INTO ACCESSRIGHTID, ACCESSUNITID, ACCESSOBJECTID, GRANTRIGHTS, DENYRIGHTS;
EXIT
WHEN QPZ%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(ACCESSRIGHTID || ' ' || ACCESSUNITID);
END LOOP;
CLOSE QPZ;
END;
我的问题是我得到的唯一输出是以下消息:
匿名块完成
我的 AccessRights 中有 80 行。为什么我没有在我的循环中列出它们
解决方案
推荐阅读
- lucee - 从控制器方法渲染 JSON
- c# - EF Core 5.0 中的多对多关系是否可以配置为仅保留一个导航属性(在一侧)?
- reactjs - 如何将 React 片段转换为数组?
- javascript - vim中的javascript AMD标签?
- pine-script - 我们可以使用 TradingView 访问 pine 脚本中的交易面板选项卡吗?
- java - 仅使用 1、2、3 步即可达到第 n 步
- java - Windows 上的字符编码混淆
- ios - 交换 UITextField 的 isEnabled 更改背景颜色以及如何防止它
- python - Pandas 对 bp 进行分组,根据条件过滤和提取行
- java - 我怎样才能拥有这两个构造函数?