oracle根据传入的表名动态增删改数据--存储过程

本文展示了如何使用Oracle存储过程进行动态的数据增删改操作。包括创建表`lcn_test0907`并插入数据,然后通过`pro_del_table`和`pro_upd_table`两个存储过程,分别演示了动态删除和更新数据的示例,其中删除操作支持按条件和分批提交,更新操作同样支持按条件和限制更新行数。
摘要由CSDN通过智能技术生成

create table lcn_test0907(
id varchar2(100) primary key not null,
name varchar2(100) not null,
age varchar2(100) not null
);
insert into lcn_test0907 values(‘1’,‘李白’,‘18’);
insert into lcn_test0907 values(‘2’,‘lily’,‘16’);
insert into lcn_test0907 values(‘3’,‘Tom’,‘18’);

–1.删除
–示例:call pro_del_table(‘要操作的表名’,‘条件’,‘每次commit的行数’)
–示例1:call pro_del_table(‘Test’,‘age=18’,‘1000’) ,删除Test表中age=18的记录,每1000条commit一次
–示例2:call pro_del_table(‘Test’,‘1=1’,‘1000’) ,删除Test表中所有的记录,每1000条commit一次
create or replace procedure pro_del_table
(
d_TableName in varchar2,
d_Condition in varchar2,
d_Count in varchar2
)
as
–自治事物
pragma autonomous_transaction;
d_delete number:=0;
begin
while 1=1 loop
EXECUTE IMMEDIATE
‘delete from ’ || d_TableName || ’ where ’ || d_Condition || ’ and rownum <= :rn’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值