我想知道在執行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