我的问题有点类似于this one
我想检查DELETE查询是否因违反约束而失败。我想在数据库级别上执行此操作,因为我认为让它失败并捕获错误很难看。
另一种选择是使用SELECT查询“手动”检查它是否存在约束,但这是相当繁琐的,imho。
是否有“本地”方式来执行此操作?
答案 0 :(得分:3)
最简单,最直接的方法是执行DELETE,并捕获错误。
如果对其他表运行SELECT语句,则可能会了解行是否存在(暗示外键约束)。但是外键约束只是众多完整性约束中的一种。
您还必须考虑某些完整性约束可能会使用触发器实现(出于好的理由,错误的原因或完全没有理由)。