create or replace NONEDITIONABLE PACKAGE BODY xx_test01 AS
PROCEDURE MAIN_PROC (
id NUMBER
) IS
i VARCHAR2(255);
CURSOR CUR01 IS
SELECT
name,
id,
sex,
addr,
shigoto
FROM xx_test_wk ;
BEGIN
FOR i IN CUR01 LOOP
-- 不插入xx_test表
IF length(i.NAME) > 10 THEN
-- flag := flag + 1 ; ???
END IF ;
-- 插入xx_test表
IF i.id > 11111110 THEN
NULL;
END IF;
-- 不插入xx_test表
IF i.SEX = '0' THEN
-- flag := flag + 1 ; ???
END IF ;
-- 插入xx_test表
IF i.ADDR IS NOT NULL THEN
NULL;
END IF;
-- 上面check处理完,在这里统一进行插入处理,怎样将上面不需要插入表中的数据过滤掉
-- 用flag做处理的话,怎能以最后一个flag的值为判断标准了,没办法涵盖其他check
INSERT INTO xx_test (
name,
id,
sex,
addr,
shigoto)
VALUES (
i.name,
i.id,
i.sex,
i.addr,
i.shigoto
);
END LOOP;
END;
END xx_test01;