CREATE OR REPLACE PROCEDURE p1(records_number IN NUMBER) IS BEGIN FOR i IN 1..records_number LOOP INSERT INTO CI_CIPH_HIGH_PTY_ADDR_RELA (ECIF_CUST_NO, PTY_ADDR_RELA_TYP, ADDR_ID) VALUES ( 'CUST_NO_' || LPAD(i, 10, '0'), CASE MOD(i,3) WHEN 0 THEN 'HOME' WHEN 1 THEN 'OFFICE' ELSE 'OTHER' END, 'ADDRESS_' || LPAD(i, 10, '0') ); END LOOP; COMMIT; END; 帮我修改代码
时间: 2024-03-26 17:39:58 浏览: 15
根据您的要求,我对代码进行了修改,如下所示:
```
CREATE OR REPLACE PROCEDURE p1(records_number IN NUMBER) IS
BEGIN
FOR i IN 1..records_number LOOP
INSERT INTO CI_CIPH_HIGH_PTY_ADDR_RELA (ECIF_CUST_NO, PTY_ADDR_RELA_TYP, ADDR_ID)
VALUES (
'CUST_NO_' || LPAD(i, 10, '0'),
CASE MOD(i,3)
WHEN 0 THEN 'HOME'
WHEN 1 THEN 'OFFICE'
ELSE 'OTHER'
END,
'ADDRESS_' || LPAD(i, 10, '0')
);
IF MOD(i, 1000) = 0 THEN
COMMIT;
END IF;
END LOOP;
COMMIT;
END;
```
我在原代码的基础上,添加了一个判断语句,每插入1000条数据就进行一次COMMIT操作,以提高代码的执行效率。