触发用户或逻辑权限

时间:2012-07-27 15:03:47

标签: sql-server sql-server-2008 triggers

我想在我的表上应用写/删除/更新权限,但是应用逻辑。

  

如果用户具有写入/删除/更新权限,请执行。

     

如果用户没有写/删除/更新权限,则必须使用a写入/删除/更新到另一个表   INSERTED / DELETED SQL表上的逻辑操作

我的表上有一些触发器(大多数FOR INSERT / UPDATE / DELETE)。 我不想根据用户凭证/属性更改所有触发器并使其INSTEAD OF和写入或不写入表格,并且应用了我的逻辑。

还有另一种方法可以做到这一点,例如“逻辑触发器”或“逻辑权限”吗?

1 个答案:

答案 0 :(得分:1)

不幸的是,你不能在sql server中有“一个触发器来统治它们”(如this question中所述)。您唯一的选择是在每个表上放置一个触发器,然后设置角色触发器的优先级,使其在任何其他触发器之前执行。那,或者只是在每个触发器中的其余触发器代码之前添加您的角色代码。