SQL查询记录标志

SQL查询记录标志,sql,Sql,当SQL记录更新时,我需要一个记录,例如用作标志的单个位、char或int,它将是null、off或0 然后,我想有一个不同的应用程序标记,记录一旦通过它,就会有一个标志 但是,如果手动更新记录或通过SP更新记录,则需要重置标志 我不想使用触发器,也不想修改存储过程来实现这一点,但如何获得要更新的标志类型字段呢?您刚刚消除了这两种标准做法 触发器允许强制一致性,绕过它们的唯一方法是显式关闭它们 存储过程允许您向不同的用户/登录名/组等公开API;如果写入活动只能通过API进行,那么您已经确保获得

当SQL记录更新时,我需要一个记录,例如用作标志的单个位、
char
int
,它将是
null
off
0

然后,我想有一个不同的应用程序标记,记录一旦通过它,就会有一个标志

但是,如果手动更新记录或通过SP更新记录,则需要重置标志


我不想使用触发器,也不想修改存储过程来实现这一点,但如何获得要更新的标志类型字段呢?

您刚刚消除了这两种标准做法

触发器允许强制一致性,绕过它们的唯一方法是显式关闭它们

存储过程允许您向不同的用户/登录名/组等公开API;如果写入活动只能通过API进行,那么您已经确保获得了所需的行为(很像对象上的方法,其中数据库就是对象)。然后,管理员用户可以直接访问这些表以查看不同的行为,或者访问具有不同行为的不同SP

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


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

触发器是确保数据一致性的方法。