私はこれをしたいと思います:
CREATE OR REPLACE PACKAGE BODY my_refresh_pkg AS
TYPE r_data IS RECORD (
ID CHAR(10),
STATUS CHAR(12),
"DATA" CLOB
);
TYPE t_data IS TABLE OF r_data;
l_data t_data;
/** forward declarations */
PROCEDURE firstProc;
PROCEDURE secondProc;
PROCEDURE thirdProc;
/** main method call */
PROCEDURE refresh AS
BEGIN
-- clean out old data
DELETE FROM target_table;
COMMIT;
-- fetch working dataset
SELECT id, status, "data"
BULK COLLECT INTO l_data
FROM source_table
WHERE status <> 'INITIAL';
-- call individual inserts
firstProc;
secondProc;
thirdProc;
END refresh;
[... proc definitions, etc ...]
私はこれを正しい方法で行っていますか?パッケージがコンパイルされていません。「テーブルまたはビューが存在しません」というエラーが表示されます。テーブル変数を参照しているかどうかはわかりません。