0
我想知道。 我有这个触发器,正是我想要它做的事情。插入触发器后的SQLServer,它是循环遍历整个表还是仅插入行。
USE [IGOR]
GO
/****** Object: Trigger [dbo].[AfterInsertTarget] Script Date: 11/20/2013 14:46:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[AfterInsertTarget] ON [dbo].[DMM_TARGET]
after insert
as
set nocount on
update DMM_TARGET
set ID_WEEK = 0
WHERE FREQ = 'Daily'
我的问题是:是否更新语句做到这一点只有在插入的行设置ID_WEEK为0;如果FREQ =“日报”的工作?还是它会循环整个桌子?因为现在只有50000个参赛作品。但是,如果它达到数百万,只需要触发器就会插入一行。
谢谢。
您的触发器不会根据插入操作影响的行识别行应更新的行,因为它没有引用'inserted'伪表。你也不应该把它想象成一个“循环”。最后,为什么你没有向该列添加默认约束? –