Avatar billede jmp.dk Nybegynder
18. maj 2007 - 18:40 Der 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.

Jonas
Avatar billede dr_chaos Nybegynder
19. maj 2007 - 15:39 #1
Du kan måske bruge noget i denne stil :

CREATE TRIGGER trig_updatePERSON

ON PERSON

FOR UPDATE

AS

INSERT INTO Personhistorik(ID ,Fornavn,Efternavn,Adresse,Telefon  )
SELECT ID ,Fornavn,Efternavn,Adresse,Telefon FROM Deleted
Avatar billede jmp.dk Nybegynder
20. maj 2007 - 22:27 #2
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?
Avatar billede dr_chaos Nybegynder
20. maj 2007 - 23:57 #3
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

END
Avatar billede dr_chaos Nybegynder
04. juni 2007 - 08:28 #4
kunne det bruges ?
Avatar billede jmp.dk Nybegynder
05. december 2008 - 11:38 #5
Ja tak undskyld den sene reaktion.
Point klar til afhentning.
Avatar billede dr_chaos Nybegynder
05. december 2008 - 12:27 #6
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester