我正在通过 SQL Server Management Studio 2008 在 SQL Server 2005 数据库上创建一个视图,该视图从两个表中读取。该视图是从 Web 应用程序访问的,我希望用户能够通过更新视图来更新其中一个表,而不是另一个。一个表是来自重要系统的实时数据,不应被此应用程序更改。我控制 Web 应用程序,因此它不应该生成将更新该表的查询,但我根本不希望它能够这样做。
有没有办法设置权限,使视图本身只能从基础表之一读取?我所知道的关于权限的一切都在用户级别,但我认为有一种方法可以将视图设为只读。
不要授予视图的 UPDATE 权限。授予视图中特定列的更新权限。仅授予您希望用户/应用程序能够更新的列的更新权限。
如果连接两个表,则一次只能更新一个表。所以你不应该碰你的重要桌子。
这是链接
可更新视图