ストアドするほどではないのだけれど、とりあえず簡単なプロシージャを書きたい時や、簡単なテストデータを作成したい時など活躍します。
-- 以下サンプルプログラム用にテーブル作成 create table ex304 (cnt number ,col1 varchar2(40),col2 number) ;
declare cnt int; begin cnt :=0; for j in 1..5 loop for i in 1..10 loop cnt :=cnt + 1; insert into ex304 values(cnt,'tes'||to_char(cnt),trunc(dbms_random.value * 1000)); end loop; commit; dbms_output.put_line('commitしました'||to_char(cnt)); end loop; end; /
SQL> set lin 100
SQL> set serveroutput on
SQL>
SQL> create table ex304 (cnt number ,col1 varchar2(40),col2 number)
2 ;
表が作成されました。
SQL> declare
2 cnt int;
3 begin
4 cnt :=0;
5 for j in 1..5 loop
6 for i in 1..10 loop
7 cnt :=cnt + 1;
8 insert into ex304 values(cnt,'tes'||to_char(cnt),trunc(dbms_random.value * 1000));
9 end loop;
10 commit;
11 dbms_output.put_line('commitしました'||to_char(cnt));
12 end loop;
13 end;
14 /
commitしました10
commitしました20
commitしました30
commitしました40
commitしました50
PL/SQLプロシージャが正常に完了しました。
SQL>
set lin 100 set serveroutput on