一个语句修改多个列,调用几次update触发器

zhengdows 2011-09-01 02:35:34
update tableA set col1=1,col2=2,col3=3 where ......
表tableA中,有update触发器,
这样的一个语句,修改多个列,调用几次update触发器?

还有,我的update触发器中,如果只有
if update(col4)
begin
......
end
是不是也要执行触发器,但不执行begin end块中的语句?

但我感觉有这种触发器的表,虽然不改col4列的值,但update语句执行也很慢,是不是调用触发器就很影响执行速度?
...全文
228 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
geniuswjt 2011-09-01
  • 打赏
  • 举报
回复
嗯...
--小F-- 2011-09-01
  • 打赏
  • 举报
回复
还有,我的update触发器中,如果只有
if update(col4)
begin
......
end
是不是也要执行触发器,但不执行begin end块中的语句?



begin..end里面的是要么执行 要么回滚
-晴天 2011-09-01
  • 打赏
  • 举报
回复
修改一次调用一次触发器,与一次修改多少列没关系.
if update(col4) begin end
是在修改 col4 时执行的程序段,不改该列,这个程序段不执行.
有触发器的表,执行速度会有影响.
快溜 2011-09-01
  • 打赏
  • 举报
回复
是的。
-晴天 2011-09-01
  • 打赏
  • 举报
回复
修改一次调用一次触发器,与一次修改多少列没关系.
if update(col4) begin end
是在修改 col4 时执行的程序段,不改该列,这个程序段不执行.

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧