sql server - Firing trigger for bulk insert -


alter trigger [dbo].[tr_o_salesman_ins]    on  [dbo].[o_salesman]    after insert  begin     -- set nocount on added prevent result sets     -- interfering select statements.     set nocount on;      -- insert statements trigger here     declare @slsman_cd nvarchar(20)     declare @slsman_name nvarchar(20)     select @slsman_cd = slsman_cd,@slsman_name=slsman_name     inserted      if not exists(select * o_salesman_user slsman_cd = @slsman_cd)     begin         insert o_salesman_user(slsman_cd, password, user_cd)         values(@slsman_cd, @slsman_cd,@slsman_name )     end end 

this trigger written table(o_salesman) fetch few columns , insert 1 table(o_salesman_user). presently bulk data getting inserted o_salesman table through stored procedure, trigger getting fired once , o_salesman_user having 1 record inserted each time whenever stored procedure being executed,i want trigger run after each , every record gets inserted o_salesman such both tables should have same count not happening..so please let me know can modified in trigger achieve same....

you can use cursor follows:

create trigger trg_insertstuff on [o_salesman] after insert    declare @slsman_cd nvarchar(20)     declare @slsman_name nvarchar(20)    declare db_cursor cursor   select slsman_cd, slsman_name inserted  open db_cursor   fetch next db_cursor @slsman_cd , @slsman_name   while @@fetch_status = 0   begin    if not exists(select * o_salesman_user slsman_cd = @slsman_cd)     begin         insert o_salesman_user(slsman_cd, password, user_cd)         values(@slsman_cd, @slsman_cd,@slsman_name )     end   fetch next db_cursor  @slsman_cd , @slsman_name  end  close db_cursor   deallocate db_cursor 

Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -