1 -- 创建表 tab_a 2 -- create table tab_a (id int primary key not null,pid int); 3 -- 创建序列 4 /* * 5 create sequence seq_a 6 increment by 1 7 start with 1 8 nomaxvalue 9 nocycle 10 cache 20; 11 * */ 12 -- 创建存储过程 13 create or replace procedure pro_a_insert is 14 i NUMBER ( 20 ); 15 begin 16 for i In 1 .. 1000000 loop 17 INSERT INTO tab_a 18 VALUES 19 (seq_a.nextval, i); IF mod 20 (i, 100 ) = 0 THEN COMMIT ; 21 END IF ; 22 END LOOP; 23 end pro_a_insert; 24 / 25 -- -调用 26 27 28 Procedure created. 29 30 31 SQL > CREATE OR REPLACE PROCEDURE CallHelloWorld1 ( 32 2 p_user VARCHAR2 33 3 ) AS 34 4 BEGIN 35 5 -- 调用存储过程的 存储过程 36 6 HelloWorld1(p_user); 37 7 END CallHelloWorld1; 38 8 / 39 40 41 Procedure created. 42 43 44 执行 45 SQL > set serveroutput on 46 SQL > exec CallHelloWorld1( ' Tom ' ); 47 Hello Tom! 48 49 50 PL / SQL procedure successfully completed. 51 52 53 54 create or replace procedure pro_a_insert is 55 i NUMBER ( 20 ); 56 begin 57 for i In 1 .. 10000000 loop 58 INSERT INTO tab_a 59 VALUES 60 (seq_a.nextval, i); IF mod 61 (i, 100 ) = 0 THEN COMMIT ; 62 END IF ; 63 END LOOP; 64 end pro_a_insert; 65 66 67 每 1000万插入一次 , 100 条提交一次