我想知道在执行SELECT值到CURSOR时是否有任何选项来迭代表。执行CURSOR时PLSQL FOR循环
例如: 我有一个表TEMP_NUMBERS其中只包含数字(单列)。 我必须从表中的每个数字执行SELECT(我不知道表中的行数量)。
这里基本上是我试图做的。显然这不起作用,但我可以采取某种解决方法吗? 我需要选择数据到p_cv_PermsNotifs这是一个RETURN REF CURSOR。
IF NOT p_cv_PermsNotifs%ISOPEN THEN OPEN p_cv_PermsNotifs FOR
FOR i IN 1..TEMP_NUMBERS.NUMBER.COUNT LOOP
SELECT DISTINCT
SEC_USER_ROLE.ENTITY_TYP_CODE,
SEC_USER_ROLE.ENTITY_ID
FROM
SEC_USER_ROLE
WHERE
SEC_USER_ROLE.ENTITY_ID = i
END LOOP;
END IF;
也试过这样:
IF NOT p_cv_PermsNotifs%ISOPEN THEN OPEN p_cv_PermsNotifs FOR
SELECT DISTINCT
SEC_USER_ROLE.ENTITY_TYP_CODE,
SEC_USER_ROLE.ENTITY_ID
FROM
SEC_USER_ROLE
WHERE
SEC_USER_ROLE.ENTITY_ID IN
(SELECT * FROM TABLE (lv_ListOfEntities))
END IF;
凡lv_ListOfEntities是二进制整数索引号的表。 但我得到“ORA-22905:无法访问非嵌套表项的行”
在此先感谢。
是否有可能加入保存的数字到sec_user_role表的临时表? – Nick