2021-12-20
如何创建一个根据个人信息 删除 表中 个人信息。
想写一个包,主要用户根据传入的表名以及个人id删除个人信息。如果无法删除,要抛错。两个核心参数,一个表名,一个id作为参数传入。求教。
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
想写一个包,主要用户根据传入的表名以及个人id删除个人信息。如果无法删除,要抛错。两个核心参数,一个表名,一个id作为参数传入。求教。
这玩意不是很简单么?只要了解存储过程最基本的结构就知道写了
create procedure test_delete(i_tablename varchar2(50), i_id varchar2(20)) is
l_sql varchar2(4000);
begin
l_sql := 'delete ' || dbms_assert.enquote_name(i_tablename) || ' where id=' || dbms_assert.enquote_literal(i_id) ;
execute l_sql;
commit;
exception
when others then
Raise_application_error(-20000, sqlerrm);
end;
/
由于你表名是动态的,因此只能拼接动态sql,再加上防sql注入。
执行就是
begin
test_delete('表名','id值');
end;
/
如果要创建包,也就是把这个过程放到包里就行了
评论
有用 0
墨值悬赏