sql,在模块中使用 EXECUTE AS

来源:互联网 发布:英语口语app 知乎 编辑:程序博客网 时间:2024/06/12 18:12

sql语句的触发器问题,instead of、after、for事件的区别,还有execute as字句的使用。谢谢

1、定义触发器的时候instead of、after、for有什么区别?比如定义一个插入值然后触发as后的语句的触发器。感觉这三个都是在插入后才执行呢?看不出for的提前来呢。谢谢
再者,instead of的含义不是很理解,求解释。
2、创建触发器的execute as如何使用,msdn说+上下文。用户?不大理解。
求解析,谢谢!!

after等价于for,是事后触发。instead of则会取代原来的操作,例如在你的例子里,将不再执行插入操作,而是执行触发器里的操作。


execute as是用来定义模块的执行上下文
EXECUTE AS { CALLER | SELF | OWNER | 'user_name' }
其中CALLER指模块调用方,SELF指创建或更改模块的用户,OWNER指模块的当前所有者, ‘user_name’ 则是指定的用户。
0 0
原创粉丝点击