sql server - Update data during insert in a Trigger and then insert -
i have situation where, have 10 columns in table. inserting 5 columns program , 5 columns, want create trigger. possible? , if yes, how do that?
col1 col2 col3 col4 col5 col6 col7 col8 col9 col10
create trigger fill_trigger on db after insert begin -- set nocount on added prevent result sets -- interfering select statements. set nocount on; -- insert statements trigger here declare @col6 int declare @col7 int -- , on. set @col6 = (select col1 inserted) * (select col2 inserted) set @col7 = (select col3 inserted) * (select col4 inserted) --is possible following? update inserted set col6 = @col6 update inserted set col7 = @col7 end go
you shouldn't use locsal variables in trigger because makes "single row only"
also, assume have primary key called keycolumn. , table called "db".
create trigger fill_trigger on db after insert begin set nocount on; update db set col6 = i.col1 * col2, col7 = i.col3 * col4 db join inserted on db.keycolumn = i.keycolumn; end go
however, columns based on other columns, use computed columns , not have trigger
create table mytable ( keycolumn ..., col1 ..., col2 ..., col3 ..., col4 ..., col5 ..., col6 col1 * col2, col7 col3 * col4, col8 ... );
Comments
Post a Comment