是否可以使用模拟创建视图,类似于存储过程中的"execute as"
?
我想在单独的架构中创建一些视图。某些用户应该SELECT
和UPDATE
访问这些视图,以便他们能够更改基础表,但无法直接更新表。
这可能是一种观点吗?
答案 0 :(得分:1)
不,这是不可能的。 EXECUTE AS主要用于SP,但您可以更广泛地使用它们。 From TechNet:
在SQL Server中,您可以定义以下内容的执行上下文 用户定义的模块:函数(内联表值除外) 功能),程序,队列和触发器。
...
函数(内联表值函数除外),存储过程, 和DML触发器{EXEC | EXECUTE} AS {CALLER |自我|所有者| 'user_name'}
数据库范围的DDL触发器{EXEC | EXECUTE} AS {CALLER |自 | 'user_name'}
带服务器范围和登录触发器的DDL触发器{EXEC |执行 } AS {CALLER |自我| 'login_name'}
队列{EXEC | EXECUTE} AS {SELF |所有者| 'user_name'}
但是,你有一些选择: