26. juni 2007 - 11:32Der er
4 kommentarer og 1 løsning
Oprette trigger
Jeg er hvad man kan kalde “First time Trigger user”. Jeg skal lave en trigger der sletter rækker i en database på baggrund af et datofelt. Jeg har altså en kolonne med datoer, og når denne er overskredet skal rækken slettes fra databasen. Til info bruger jeg en MS SQL Server 2005.
Well, sådan kan du vist ikke helt bruge triggers. En trigger bliver flyret når du indsætter, opdaterer eller fjerner en række. For eksempel kan du bruge følgende:
create trigger delete_when_old ON <yourtable> FOR UPDATE AS DELETE FROM <yourtable> WHERE <pk> = deleted.<pk> AND <date> < CURRENT_TIMESTAMP;
Den fjerner en række hvis den er blevet for gammel, men den laver først checket når den bliver opdateret. Jeg ved ikke helt om det er det du vil have :) Det kan godt være at min syntax ikke er helt korrekt, har ikke lige en SQL Server jeg kan teste med.
Jeg mener dog at du kan lave "jobs" i SQL Serveren du kan køre med jævne mellemrum for at fjerne for gamle rækker hvis du vil det.
He he, nej det er bare mig der ikke havde læst ordenligt på triggers, og det siger navnet jo også, det er en trigger og ikke en service. Men det er lige hvad jeg skal bruge, så tak. Smid et svar :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.