如何在删除触发器之前拒绝删除语句?
你可以创建一个使用外键constrait引用您的ID列(前提是你的表的主键)的表。将一行插入到引用ID = 0的“子”表中并从该表中删除用户的所有更新/删除权限。
现在如果有人试图删除“父”表中ID = 0的行,由于另一个表中的现有子行而失败。
这是一个非常糟糕的想法(至少对我来说,因为我们的db中有超过130个表) – 2011-02-27 10:53:00
@Behrouz:这是否意味着你需要为每个表提供这种“保护”?听起来像一个非常奇怪的设置然后.. – 2011-02-27 11:02:11
不是为每个表,但我有很多表之间的关系,这种解决方案使它更复杂。我写了一个ORM,它生成SOAP Web服务,增加了一个额外的无用列,使Web服务变得丑陋和容易出错 – 2011-02-27 11:08:11
这是什么意思?提供一个用例。 – Nishant 2011-02-27 09:21:08
@Nishant:我添加了示例用例。 – 2011-02-27 09:56:29