SQL查询记录标志

时间:2018-02-01 15:39:54

标签: sql

当SQL记录更新时,我想要一个记录,例如一个位charint作为标志,将null,{{1} },或off

然后我希望有一个不同的应用程序标记,一旦通过它就会用标记进行记录。

但是,如果我手动更新记录,或通过SP,我希望标志重置。

我不想使用触发器,或者修改存储过程来执行此操作,但是如何获得将更新的标记类型字段?

1 个答案:

答案 0 :(得分:2)

你刚刚取消了两种标准做法。

触发器允许强制一致性,绕过它们的唯一方法是明确地将其关闭。

存储过程允许您将API公开给不同的用户/登录/组/等;如果写入活动只能通过API发生,那么您已确保获得所需的行为(非常类似于对象上的方法,数据库是对象)。然后,管理员用户可以直接访问表以调用不同的行为,或者可以访问具有不同行为的不同SP。

通常我会提倡SP。允许人们直接访问应用程序的数据库/表通常是个坏主意。最终他们会忘记WHERE子句。

我能想到的唯一另一个选择是强制通过应用程序进行所有访问,并有效地构建对该应用程序的行为和访问控制。基本上将SP迁移到应用程序中。