SQL Server-如何在删除前检查行是否可删除

本文关键字:删除 检查 是否 SQL Server- | 更新日期: 2023-09-27 18:26:46

在删除行之前,如何检查行是否可以删除?这就像开发一个新的函数CanDelete(RowID)。

对于某些行,我在另一个表中引用了这些表。

我能做到这一点的一种方法是捕捉异常。有更好的方法吗?

SQL Server-如何在删除前检查行是否可删除

假设您的要求是不想删除另一个表中引用的行。

我不会把这件事留给c代码。如果开发了另一个进行删除的应用程序,或者有人直接访问数据库,该怎么办。

首先,您应该为关系设置一个删除规则。其次,你可以在删除之前写一个触发器进行检查,然后把它放在那里。最后,你可以写一个不存在的删除语句,例如

DELETE from TableA where ID in (select ID from tableA a left outer join tableB b on a.ID = b.ID where b.ID is NULL)