使用简单的存储过程,实现数据库表的循环插入

这是boss突然给的任务,让暴力测试数据库,快速的插入大量的数据,但是因为我之前没有接触过,所以耗费了一些时间。

(1)最终解决办法是使用oracle数据库定义了存储过程。使用了while循环,

<span style="font-size:18px;">create or replace procedure insert_url(x in number) is
i number(4,2);
begin
i :=1;
while i < 10 LOOP
begin   
 i:= i + 1;
insert into table1 (id, c1, c2, c3, c4, c5, c6, c7, c8)
values (big_cfg_seq.nextval, 1, 1, 1, 16, '0', 1, 16, to_date('05-1-2015 18:00:00', 'dd-mm-yyyy hh24:mi:ss'));
insert into table2 (id, c1, c2, c3,c4, c5, c6, c7, c8, c9, c10, c11)
values (big_cfg_seq.currval, 1, 'duhihis', 0, 0, 0, 1, null, null, null, null, null);
end;
end LOOP;
end insert_url;</span>


(2)调用存储过程的几种方法:

     如果是在应用程序(Java等)中调用存储过程,需要根据相应语言的语法来进行。这个可以通过查找相应语言的帮助来找到。

     如果是在Oracle的其他存储过程中调用,直接写存储过程名就可以了。传入相应的参数,即可执行。

     如果在Oracle的命令行中,使用EXEC 存储过程名(参数)  的方式即可调用。

     如果存储过程执行的语句写在SQL文件中,则可以通过调用文件的方式执行,即SQL> @D:\SQL\example.sql的形式
(3)因为最近在学shell脚本,所以我是写了一个简单的脚本,来执行这个存储过程.
  sqlplus username/password@ip地址:端口/服务名称<<EOF
  exec insert_url(1);
  EOF


    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值