3
我有一個過程,出於性能原因需要緩存一些數據以用於下游操作。如何從批量收集記錄表中選擇類型
的TYPE
定義工作
的BULK COLLECT INTO
作品
的SELECT
不起作用
PROCEDURE MYPROC((PARAMS))AS
TYPE REC_TYPE IS RECORD (
COLUMN_1 (TABLEA.COLUMN_A)%TYPE,
COLUMN_2 (TABLEA.COLUMN_B)%TYPE
);
TYPE TAB_TYPE IS TABLE OF REC_TYPE;
TABLE_1 TAB_TYPE;
BEGIN
SELECT COLUMN_A, COLUMN_B
BULK COLLECT INTO TABLE_1
FROM TABLE_A;
SELECT * FROM TABLE_1;
END MYPROC;
產量:
錯誤(#,#):PL/SQL: ORA-00942:表或視圖不存在
我也試過它包裹在一個表函數,就像我做我的其它地方單柱類型,但沒有工作,要麼
SELECT * FROM TABLE(TABLE_1);
錯誤(#,#):PL/SQL:ORA-22905:無法從非嵌套 表項
感謝您給我們答案!我懷疑無法定義內聯對象,但是,它確實如此:[可能在PL/SQL中創建Oracle數據庫對象類型?](https://stackoverflow.com/questions/1069176/possible-你甚至不能在全局和內聯表中創建對象,否則你會得到'Error(#,#):PLS-00642: SQL語句中不允許使用本地集合類型「 –