Firing trigger for bulk insert

后端 未结 3 1410
一生所求
一生所求 2021-01-05 02:23
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
    -- inte         


        
3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-05 02:36

    Yes, triggers fire once per statement, not once per row.

    So you need something like:

    SET NOCOUNT ON
    
    INSERT INTO O_SALESMAN_USER(SLSMAN_CD, PASSWORD, USER_CD)
    SELECT
        i.SLSMAN_CD,i.SLSMAN_CD,i.SLSMAN_NAME
    FROM
        inserted i
            left join
        O_SALESMAN_USER u
            on
                i.SLSMAN_CD = u.SLSMAN_CD
    where
        u.SLSMAN_CD is NULL
    

提交回复
热议问题