Firing trigger for bulk insert

Posted by Deepa on Stack Overflow See other posts from Stack Overflow or by Deepa
Published on 2010-04-30T06:40:13Z Indexed on 2010/04/30 6:57 UTC
Read the original article Hit count: 445

Filed under:
|

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

This is the trigger written for a table(O_SALESMAN) to fetch few columns from it and insert it into one another table(O_SALESMAN_USER). Presently bulk data is getting inserted into O_SALESMAN table through a stored procedure, where as the trigger is getting fired only once and O_SALESMAN_USER is having only one record inserted each time whenever the stored procedure is being executed,i want trigger to run after each and every record that gets inserted into O_SALESMAN such that both tables should have same count which is not happening..so please let me know what can be modified in this Trigger to achieve the same....

© Stack Overflow or respective owner

Related posts about SQLServer

Related posts about sql-server-2005