PLSQL中的从父表删除过程
我的任务是从PLSQL中的从父表删除过程,plsql,parent-child,procedure,Plsql,Parent Child,Procedure,我的任务是从父表中删除条目,这意味着我需要删除子表中的相应条目。我需要在过程中执行此操作,并且基于父表的主键。到目前为止,我只是对我需要的输入参数感到困惑。这就是我到目前为止所做的: procedure sps_delete_patientmedrecs_det ( p_parentPK_in in parent_table.parentPK%type, p_err_code_out out number, p_err_msg_out out varchar2) dele
父表
中删除条目,这意味着我需要删除子表
中的相应条目。我需要在过程中执行此操作
,并且基于父表的主键
。到目前为止,我只是对我需要的输入参数感到困惑。这就是我到目前为止所做的:
procedure sps_delete_patientmedrecs_det (
p_parentPK_in in parent_table.parentPK%type,
p_err_code_out out number,
p_err_msg_out out varchar2)
delete from child_table
where child_table.childFK = p_parentPK_in;
delete from parent_table
where parent_table.parent.parentPK = p_parentPK_in;
end;
到目前为止,我认为这不会起作用,因为我认为过程
不会知道子外键是什么。我想做一个select
语句,但是我对input参数感到困惑,因为我只得到了p\u parentPK\u。感谢您的帮助,并提前向您表示感谢
同样作为一个脚注,DELETE CASCADE
不在图片中。无需担心,这是有效的。在第二次删除之前,我刚刚添加了另一个begin。您如何处理err_代码参数?只需使用标准PL/SQL异常即可。:)在Java中是不会这样做的,那么为什么PL/SQL中会有任何不同呢?我工作的公司使用它的方式不同,我只是没有说明他们在这个过程中做了什么。我曾经工作过的公司也这样做。当与项目负责人交谈时,他只是没有意识到自定义异常。改变一切当然是另一回事,但我相信他的下一个项目他会做好的。