このストアド プロシージャの作成に問題があり、実行時にエラーが発生しました。エラーは、無視された SQL ステートメントと SQL コマンドが正しく終了していないことで構成されていました。すべてのコードがきれいだと思いました。
合計レコードを返し、それを TABLE1 テーブルから RECORD_COUNT 変数に挿入します。
RECORD_COUNT がゼロより大きく、データをダンプして TABLE1 テーブルをクリアするかどうかを確認する条件。
EXTERNAL_TABLE テーブルから TABLE1 テーブルに挿入するために、RECORD_COUNT がゼロに等しいかどうかを確認する条件。
手伝ってください。
CREATE OR REPLACE PROCEDURE sp_INSERT
(RECORD_COUNT OUT NUMBER)
IS
BEGIN
SELECT COUNT(*)
INTO RECORD_COUNT
FROM TABLE1;
IF RECORD_COUNT > 0 THEN
EXECUTE IMMEDIATE 'TRUNCATE TABLE TABLE1'
END IF;
IF RECORD_COUNT = 0 THEN
INSERT INTO TABLE1
(
JOB_ID,
NUM_SP1,
NUM_SP2,
NUM_SP3,
NUM_SP4,
)
(SELECT JOB_ID,
NUM_SP1,
NUM_SP2,
NUM_SP3,
NUM_SP4,
FROM EXTERNAL_TABLE)
COMMIT;
END IF;
END;