编写一个存储过程。实现向指定表中循环插入1000条数据,并统计时间。表结构参考T1(INT IDENTITY(1,1),DATE,CLOB) 。备注:可以使用客户端工具对此功能做时间对比测试。
create table T1(id INT IDENTITY(1,1),date DATE,miaoshu CLOB);
for语句:
create or replace procedure PROC_FOR as
t date:=sysdate;
begin
for I in 1…1000 LOOP
insert into T1(date,miaoshu) values(t,‘dameng’);
end loop;
end;
/
while语句
CREATE OR REPLACE PROCEDURE PROC_WHILE(I IN OUT INT) AS
t date:=sysdate;
BEGIN
WHILE I>0 LOOP
insert into T1(date,miaoshu) values(t,‘dameng’);
I:=I-1;
END LOOP;
END;
/
loop语句
CREATE OR REPLACE PROCEDURE PROC_LOOP(I IN OUT INT) AS
t date:=sysdate;
BEGIN
LOOP
IF I<=0 THEN
EXIT;
END IF;
insert into T1(date,miaoshu) values(t,‘dameng’);
I:=I-1;
END LOOP;
END;
/
repeat语句
CREATE OR REPLACE PROCEDURE PROC_REPEAT AS
t date:=sysdate;
I INT;
BEGIN
I := 1;
REPEAT
insert into T1(date,miaoshu) values(t,‘dameng’);
I := I+1;
UNTIL I>1000;
END;
/
forall语句
CREATE OR REPLACE PROCEDURE PROC_FORALL AS
t date:=sysdate;
BEGIN
FORALL I IN 1…1000
insert into T1(date,miaoshu) values(t,‘dameng’);
END;
/
从测试结果看,while和repeat循环插入1000行数据到表中用时最短。
社区地址:https://eco.dameng.com
文章
阅读量
获赞