我有一个连接到SQL Server 2000的Access 2003应用程序。
我有一张表,我需要在其中锁定记录以及不同表中的所有相关记录。通过“锁定”,我的意思是将它们标记为只读,这样除非管理员解锁它们,否则任何客户都无法编辑这些记录。
有什么想法吗?
答案 0 :(得分:3)
很可能在数据库级别没有“优雅”的方法。但是你可以做几条路线。
这是我能想到的在数据库级别强制执行它的唯一真正简单的方法。
答案 1 :(得分:0)
假设您的数据在SQL Server中,我会首先使用SQL Server安全性。我们通常不允许对表进行任何访问,然后通过SP控制它。 SP可以使用更复杂的逻辑来确定特定操作是否应该通过。
如果这不是一个选项,您可以随时使用触发器,检查行并拒绝更新或删除该方式。
有很多方法可以给这只猫上皮。
答案 2 :(得分:0)
扔掉那里的另一种选择:
如果有人试图更新该行,则触发器将尝试更新last_updated列,外键约束将导致更新失败。