1. 程式人生 > >Oracle資料庫 迴圈建表語句及多表迴圈插入語句

Oracle資料庫 迴圈建表語句及多表迴圈插入語句

Oracle資料庫的迴圈建表語句及多表迴圈插入語句

--建多張表的儲存過程

create  or replace procedure  createtables

is

i number (10) :=1;

begin

for i in 1..10 loop

execute immediate  'create table zry'||i||'

(k1 NUMBER NOT NULL PRIMARY KEY,

k2 VARCHAR2(10),

k3 VARCHAR2(50),

k4 DATE,

k5 CHAR(2)

)';

end loop;

end createtables;

--呼叫儲存過程
execute createtables

--刪除儲存過程
drop procedure createtables

--給多張表插入多條記錄的sql語句

begin 

    declare i int; j int; tbname varchar2(50);

begin

for i in 1..5 loop

    tbname := 'zry'||to_char(i);

for j in 1..3 loop

execute immediate 'INSERT INTO '||tbname||'(k1,k2,k3,k4,k5) values('||j||',''zry'',''west'',to_date(''2017-08-31'',''yyyy-mm-dd''),''01'')';

end loop;

end loop;

commit;

end;

end;