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'僞表。你也不應該把它想象成一個「循環」。最後,爲什麼你沒有向該列添加默認約束? –