是否可以创建具有模拟的视图,类似于"execute as"
在存储过程中?
我想在单独的模式中创建一些视图。一些用户应该获取SELECT
和UPDATE
访问这些视图,以便他们能够更改基础表,但没有直接更新表的访问权限。
这有可能吗?
是否可以创建具有模拟的视图,类似于"execute as"
在存储过程中?
我想在单独的模式中创建一些视图。一些用户应该获取SELECT
和UPDATE
访问这些视图,以便他们能够更改基础表,但没有直接更新表的访问权限。
这有可能吗?
不,这是不可能的。EXECUTE AS 主要与 SP 一起使用,但您可以更广泛地使用它们。来自技术网:
在 SQL Server 中,您可以定义以下用户定义模块的执行上下文:函数(内联表值函数除外)、过程、队列和触发器。
...
函数(内联表值函数除外)、存储过程和 DML 触发器 { EXEC | 执行}作为{调用者| 自我 | 所有者 | '用户名' }
具有数据库范围的 DDL 触发器 { EXEC | 执行}作为{调用者| 自我 | '用户名' }
具有服务器范围和登录触发器的 DDL 触发器 { EXEC | 执行}作为{调用者| 自我 | '登录名' }
队列 { 执行 | 执行}作为{自我| 所有者 | '用户名' }
但是,您有一些选择: