小编Dee*_*epa的帖子

批量插入的触发触发器

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
Run Code Online (Sandbox Code Playgroud)

这是为table(O_SALESMAN)从中获取少量列并将其插入到另一列中而触发的触发器table(O_SALESMAN_USER).目前,批量数据O_SALESMAN通过存储过程插入到表中,其中触发器仅被触发一次并且O_SALESMAN_USER每次执行存储过程时只插入一个记录,我希望触发器在每个记录之后运行插入到O_SALESMAN这样两个表应该具有相同的计数,这是没有发生..所以请让我知道在这个触发器中可以修改什么来实现相同....

sql-server sql-server-2005

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

sql-server ×1

sql-server-2005 ×1