Chinaunix首页 | 论坛 | 博客
  • 博客访问: 782560
  • 博文数量: 185
  • 博客积分: 7434
  • 博客等级: 少将
  • 技术积分: 2325
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-29 14:01
文章分类

全部博文(185)

文章存档

2013年(1)

2012年(2)

2011年(17)

2010年(25)

2009年(36)

2008年(104)

分类: Oracle

2009-04-10 15:26:54

批量insert造数据和分批提交删除的例子
create or replace procedure myj_insert(maxrecords in number :=100) is
i number :=1
begin
  for i in 1..a
  loop
  Insert into ADZONES
   (ADZONEID, NAME, FORMAT, TRANSTYPE, SIZECODE, ADZONESIZE, WEEKPRICE, CANSELLTIME, CREATETIME, UPDATETIME, STATUS, MEMBERID, SITEID, SITENAME, SITEURL, KEYWORDS, PROPERTIES, ADZONECATIDS, NEEDAUDITING, MARKS, EDITED, ISBUSY, CPMPRICE, CPMSTATUS, SNAPSHOTTIME, DISTYPE)
 Values
   (101514, '全站内页200*200', '3', '7', '32', '250x300', 500, TO_DATE('08/31/2007 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('08/12/2007 10:56:26', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('08/12/2007 10:56:26', 'MM/DD/YYYY HH24:MI:SS'), 'N', 10001461, 100975, '屁屁视频', '', '娱乐', '{"sex":["1","多数是男的"],"income":["2","1000~3000"],"age":["2","18~25岁"],"hobby":"","job":["1,2,6,7","学生,职员,自由职业者,待业者"]}', '39999', '1', '0', '0', 1, 0.8, '0', TO_DATE('12/06/2007 17:21:19', 'MM/DD/YYYY HH24:MI:SS'), '1');
  end loop;
  commit;
  dbms_output.put_line(maxrecords||' insert done');
end myj_insert;
/
create or replace procedure delBigTab
--分批提交删除
(
p_TableName in varchar2,--表名
p_Condition in varchar2,--条件
p_Count in varchar2--每批提交的条数
)
as
pragma autonomous_transaction;
n_delete number:=0;
begin
while 1=1 loop
EXECUTE IMMEDIATE
'delete from '||p_TableName||' where '||p_Condition||' and rownum <= :rn'
USING p_Count;
if SQL%NOTFOUND then
exit;
else
n_delete:=n_delete + SQL%ROWCOUNT;
end if;
commit;
end loop;
commit;
DBMS_OUTPUT.PUT_LINE('Finished!');
DBMS_OUTPUT.PUT_LINE('Totally '||to_char(n_delete)||' records deleted!');
end;
/
阅读(4550) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~