SQL Server Trigger - Variable Table Name -
is there anyway update variable tables using sql triggers?
i have 1 table called readings updated multiple different point numbers, have trigger on table read point number , update specific table.
i have following trigger works, table name z01 variable depending on inserted data. possible?
create trigger [dbo].[trg_inserttest] on [dbo].[readings] after insert begin insert z01 select * inserted end
here quick snippets test out dynamic sql inside trigger. looks works !
-- create tables create table readings ( id int identity, tbl varchar(10), some_val int ) create table z01 ( id int identity, some_val int ) create table z02 ( id int identity, some_val int ) go -- create insert trigger create trigger [dbo].[trg_inserttest] on [dbo].[readings] after insert begin declare @sql nvarchar(max) select @sql = isnull(@sql, '') + n'insert ' + quotename(tbl) + ' (some_val) values (' + convert(varchar(10), some_val) + ');' inserted exec sp_executesql @sql end go -- testing data insert readings (tbl, some_val) select 'z01', 10 union select 'z01', 11 union select 'z02', 20 select * readings select * z01 select * z02
Comments
Post a Comment