18. maj 2007 - 18:40Der er
5 kommentarer og 1 løsning
Update trigger
Jeg har brug for historikken i en bestem tabel. Det er ikke muligt at aendre applicationen der laver data saa jeg er noed til at lave det paa databasen.
Jeg har en tabel:
PERSON ------- ID INT (identity) Fornavn varchar(64) Efternavn varchar(64) Adresse varchar(254) Telefon varchar(64)
Naar denne tabel bliver opdateret kunne jeg godt taenke mig at alle data bliver kopieret til en historik tabel med samme kolonner (inden informationerne bliver overskrevet med nye vaerdier).
Vil saette pris paa hvis nogen kunne hjaelpe mig med det script.
Det virker naesten. Der er dog et stort problem og det er hvis brugeren trykke gem mange gange, saa faar jeg en raekke for hver gang han trykker (uder der er nogen data aendret). Kan man lave den saa der bliver checket for om data er andret inden en ny raekke saettes ind i historik tabellen?
Noget i denne stil: CREATE TRIGGER trig_updatePERSON
ON PERSON
FOR UPDATE
AS If( UPDATE(Fornavn)OR UPDATE(Efternavn) OR UPDATE(Adresse) OR UPDATE(Telefon ) ) BEGIN INSERT INTO Personhistorik(ID ,Fornavn,Efternavn,Adresse,Telefon ) SELECT ID ,Fornavn,Efternavn,Adresse,Telefon FROM Deleted
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.