在APEX 20.1中,可以通过引入适当的关系限制来确保数据引用的完整性。要在删除记录之前检查引用完整性,请按照以下步骤操作:
1.创建一个处理程序,该处理程序检查与要删除记录相关的外键关系是否存在。
BEGIN
IF EXISTS
(
SELECT 1
FROM child_table
WHERE parent_id_col = :P1_ID
)
THEN
RAISE_APPLICATION_ERROR(-20001, 'Cannot delete parent record as child records exist.');
END IF;
END;
此代码块检查与具有ID等于:P1_ID值的记录相关联的子记录中是否存在任何行。如果子记录存在,则会引发错误。
2.在页面级别上创建条目并连接它们之间的关系。对于要删除的父记录,请将处理程序分配给'删除”按钮的'分配处理程序”属性。此处理程序将在尝试删除具有关联子代的父记录时触发。
3.在APEX页面中进行测试以确保处理程序按预期工作。要删除带有子字符的记录,请单击删除按钮并查看是否会显示处理程序中的错误消息。
以上是一种检查引用完整性的方法,可以防止损坏数据库表。