ALTER TRIGGER [dbo].[TR_O_SALESMAN_INS]
ON [dbo].[O_SALESMAN]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
DECLARE @SLSMAN_CD NVARCHAR(20)
DECLARE @SLSMAN_NAME NVARCHAR(20)
SELECT @SLSMAN_CD = SLSMAN_CD,@SLSMAN_NAME=SLSMAN_NAME
FROM INSERTED
IF NOT EXISTS(SELECT * FROM O_SALESMAN_USER WHERE SLSMAN_CD = @SLSMAN_CD)
BEGIN
INSERT INTO O_SALESMAN_USER(SLSMAN_CD, PASSWORD, USER_CD)
VALUES(@SLSMAN_CD, @SLSMAN_CD,@SLSMAN_NAME)
END
END
這是一個table(O_SALESMAN)
書面從中獲取幾列,並將其插入到彼此table(O_SALESMAN_USER)
觸發。目前通過存儲過程將批量數據插入到表中,其中觸發器只被觸發一次,並且O_SALESMAN_USER
每次存儲過程執行時都只插入一條記錄,我希望在每個存儲過程執行後觸發器運行記錄,插入到,這樣兩個表應該有相同的計數,這是沒有發生..所以請讓我知道什麼可以在此觸發器修改,以實現相同...發射扳機的批量插入
可能是值得你澄清是否意味着BULK INSERT(HTTP://msdn.mic rosoft.com/en-us/library/ms188365.aspx),您需要包含FIRE_TRIGGERS,或者簡單地使用多行INSERT(http://msdn.microsoft.com/zh-cn/library/ms174335.aspx) – 2010-04-30 06:54:54