暂无图片
如何创建一个根据个人信息 删除 表中 个人信息。
我来答
分享
Error
2021-12-20
如何创建一个根据个人信息 删除 表中 个人信息。

想写一个包,主要用户根据传入的表名以及个人id删除个人信息。如果无法删除,要抛错。两个核心参数,一个表名,一个id作为参数传入。求教。

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
DarkAthena

这玩意不是很简单么?只要了解存储过程最基本的结构就知道写了

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
打赏 0
暂无图片
Error
题主
2021-12-20
非常感谢,这个是过程,个人想要包,不过这个非常不错,感谢。这才是回答问题的答案嘛
薛晓刚

这个用存储过程就行。有待传入参数的存储过程。最后带上(in  a,in b)这样就行。

暂无图片 评论
暂无图片 有用 0
打赏 0
Error
题主
2021-12-20
可以详细一点嘛?怎么创建一个包,怎么调用
回答交流
Markdown


请输入正文
提交