我在创建此存储过程时遇到问题,并且在执行时遇到了一些错误。错误包括 SQL 语句被忽略和 SQL 命令未正确结束。我认为所有的代码都很干净。
返回总记录并将其插入 TABLE1 表中的 RECORD_COUNT 变量。
查看 RECORD_COUNT 是否大于零并转储数据以清除 TABLE1 表的条件。
查看 RECORD_COUNT 是否等于 0 的条件,以便从 EXTERNAL_TABLE 表插入到 TABLE1 表中。
请协助。
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;