我想查找输入的每个客户的所有错误,但在找到一个错误后验证停止。如何让它贯穿每次验证?我希望在ERROR_AUDIT表中输入相同的数据两次,因此第二个客户有两个错误,一个重复的客户编号和无效的zip。
100001
雷研究生
834 Meadowlink
路易斯维尔
TX
77777
100001
杰伊拉德
834链接
路易斯维尔
TX
777
-- check for duplicate cust_number
SELECT COUNT(*)
INTO v_count
FROM cust_entry
WHERE cust_number = t_tab(cur_cust).CUST_NUMBER;
--if current record exists, insert into the error_audit table
IF v_count > 0 THEN
INSERT INTO error_audit
VALUES('XML101', USER, SYSDATE, input_file, t_tab(cur_cust).CUST_NUMBER,
'Customer number already exists.');
V_VALID := 'N';
END IF;
IF LENGTH(t_tab(cur_cust).CUST_ZIP) < 4 THEN
INSERT INTO error_audit
VALUES('XML102', USER, SYSDATE, input_file, t_tab(cur_cust).CUST_NUMBER,
'Customer zipcode less than 4 digits.');
V_VALID := 'N';
END IF;
IF V_VALID = 'Y' THEN
INSERT INTO cust_entry
VALUES(t_tab(cur_cust).CUST_NUMBER, t_tab(cur_cust).CUST_NAME,
t_tab(cur_cust).CUST_ADDR, t_tab(cur_cust).CUST_CITY,
t_tab(cur_cust).CUST_STATE, t_tab(cur_cust).CUST_ZIP,
t_tab(cur_cust).CUST_PHONE, t_tab(cur_cust).CUST_BALANCE,
t_tab(cur_cust).CUST_CREDIT_LIMIT);
END IF;
V_VALID := 'Y'; -- This reinitializes the valid record switch.