一、循环创建表:
create or replace procedure create_add_table as
i number ;
str varchar2(30);
str1 varchar2(10000);
begin
i:=100000000000000;
while (i <100000000001000)
loop
str:='REPORT_'||cast(i as varchar2);
str1:='create table '|| str||'
(
sid NUMBER(32) not null,
tserial VARCHAR2(16),
lat VARCHAR2(20),
lon VARCHAR2(20),
gps CHAR(1),
ig CHAR(1),
lc VARCHAR2(300),
is_filter CHAR(1) default 0,
vin VARCHAR2(21),
report_time DATE,
al NUMBER(5),
sp NUMBER(3),
rpm NUMBER(5),
maf NUMBER(5),
mil CHAR(1),
tmp NUMBER(5),
thr NUMBER(3),
hd NUMBER(4,1),
sv NUMBER(2),
hp NUMBER(5,2),
bv NUMBER(5,2),
cq NUMBER(3),
odo NUMBER(5)
)';
--dbms_output.put_line(str1);
EXECUTE IMMEDIATE str1;
i := i + 1;
commit;
end loop;
end;
二、循环创建序列:
create or replace procedure create_add_sequence as
i number ;
str varchar2(30);
str1 varchar2(10000);
begin
i:=100000000000077;
while (i <100000000001000)
loop
str:='SEQ_REPORT_'||cast(i as varchar2);
str1:='create sequence '|| str || ' minvalue 1 maxvalue 9999999999999999999999999999 start with 1 increment by 1 cache 20 ';
--dbms_output.put_line(str1);
EXECUTE IMMEDIATE str1;
i := i + 1;
commit;
end loop;
end;