Logging rows that are deleted in a table sql server -


i have made topic before, think have not been clear, going try explain in detail possibly can.

i have table called list, has 32000 rows, 2000 each year(1999-2014) has columns: songid,top2000year,position,

what has happen:

if deletes example year 2000, 2000 songs of year 2000 deleted, theres no problem that

delete list top2000year = 2000 

but, problem facing is: need logged, created log table called logtable columns: title,artist,year,position title song title, year year song came out , position position in list

those different table, join them this

select title, name[artist],song.year[songyear], position list left join song on song.songid = list.songid left join artist on artist.artistid = song.artistid top2000year = 2013 order position asc 

this shows query http://puu.sh/i8f2u/8702ee7010.png (censored server, it's teachers figured i'd censor it)

i trying fill logtable that, if year 2013 deleted, 2000 rows should inserted logtable using trigger

edit: used https://dbalink.wordpress.com/2008/06/20/how-to-sql-server-trigger-101/ , worked, tried database, , didn't work.

code:

use [top2000database] go set ansi_nulls on go set quoted_identifier on go alter trigger [dbo].[trgdeletelist] on list  delete insert list (songid,top2000year,position) select songid,top2000year,position inserted insert [dbo].[logtabel] (title,artist,year,position) select title,artist,year,position deleted 

just create trigger on table delete action:

create trigger triggername     on list     delete     insert logtable (title, artist, year, position)     select s.title, a.name, s.year, s.position      deleted d     left join song s on s.songid = d.songid     left join artist on a.artistid = s.artistid go 

you need join on deleted virtual table deleted rows.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -