知识大全 分别删除数据表记录的方法
Posted 知
篇首语:其实最美好的日子就是,我对你闹,你对我笑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 分别删除数据表记录的方法相关的知识,希望对你有一定的参考价值。
很多情况下我们需要分别删除数据表的一些记录 分批来提交以此来减少对于Undo的使用 下面我们提供一个简单的存储过程来实现此逻辑
SQL> create table test as select * from dba_objects;
Table created
SQL> create or replace procedure deleteTab
/**
** Usage: run the script to create the proc deleteTab
** in SQL*PLUS type exec deleteTab( Foo ID>= );
** to delete the records in the table Foo mit per records
** Condition with default value = and default Commit batch is
**/
(
p_TableName in varchar The TableName which you want to delete from
p_Condition in varchar default = Delete condition such as id>=
p_Count in varchar default Commit after delete How many records
)
as
pragma autonomous_transaction;
n_delete number:= ;
begin
while = 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;
mit;
end loop;
mit;
DBMS_OUTPUT PUT_LINE( Finished! );
DBMS_OUTPUT PUT_LINE( Totally ||to_char(n_delete)|| records deleted! );
end;
/
Procedure created
SQL> insert into test select * from dba_objects;
rows created
SQL> /
rows created
SQL> /
rows created
SQL> mit;
Commit plete
SQL> exec deleteTab( TEST object_id > )
Finished!
Totally records deleted!
PL/SQL procedure successfully pleted
注释 在此实例中修正了一下 增加了 个缺省值 以下是具体过程:
create or replace procedure deleteTab
(
p_TableName in varchar
The TableName which you want to delete from
p_Condition in varchar default =
Delete condition such as id>=
p_Count in varchar default
Commit after delete How many records
)
as
pragma autonomous_transaction;
n_delete number:= ;
begin
while = 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;
mit;
end loop;
mit;
DBMS_OUTPUT PUT_LINE( Finished! );
DBMS_OUTPUT PUT_LINE( Totally ||to_char(n_delete)|| records deleted! );
cha138/Article/program/Oracle/201311/18562
相关参考