Oracle
表不存在
CREATE OR REPLACE PROCEDURE ProcedureX() TYPE AVERAGE_COUNT_TBL IS TABLE OF INTEGER; AVERAGE_COUNT AVERAGE_COUNT_TBL; BEGIN INSERT INTO AVERAGE_COUNT VALUES(10); END ProcedureX;
它拋出錯誤:PL/SQL:ORA-00942:表或視圖不存在
問題是什麼?
如果您確實打算只使用基於記憶體 PL/SQL 類型的表,那麼您需要執行以下操作:
CREATE OR REPLACE PROCEDURE ProcedureX AS TYPE AVERAGE_COUNT_TBL IS TABLE OF NUMBER; AVERAGE_COUNT AVERAGE_COUNT_TBL; CURSOR C IS SELECT 10 FROM DUAL; BEGIN OPEN C; FETCH C BULK COLLECT INTO AVERAGE_COUNT; CLOSE C; END ProcedureX; /
游標僅用於展示。
我要補充一點,你的問題很糟糕,因為你甚至沒有花時間確保它
AVERAGE_COUNT_TBL
在下一行與自身匹配 - 你使用AVG_TRANS_HOUR_TBL
了。如果您希望隨機的網際網路人花時間編寫高質量的答案,那麼確保您的問題具有足夠的質量是否會受到傷害?