Avatar billede mortenf Nybegynder
21. december 2001 - 10:54 Der er 1 løsning

Update Trigger

Jeg har to tabeller, hvor en update i den ene skal trigge en update i den anden tabel.
Ex:
Tabel 1
id  str_name  other columns
1    Peter
2    John

Tabel 2
id  str_name    other columns
1    Peter
2    Peter
3    John
4    Peter

Hvis Peter ændres til Per i tabel 1 skal Peter automatisk ændres til Per i post 1, 2 og 4 i tabel 2.

Hvordan gøres det vha en trigger?
Avatar billede mortenf Nybegynder
21. december 2001 - 11:44 #1
Triggeren kan se ud som nedenfor..... grunden til at den ikke virkede tidligere er at definitionen af old_name og new_name ikke svarede til tabel definitionerne af str_name.

              - o -

DECLARE @old_name as varchar(30), @new_name as varchar(30)

If UPDATE (str_name)
BEGIN
    -- Get str_name before and after update
    SELECT @old_name = str_name FROM deleted
    SELECT @new_name = str_name FROM inserted

    SELECT str_name FROM Tabel2 WHERE str_name = @old_name

    If @@RowCount > 0
    BEGIN
        UPDATE Tabel2
        SET str_name = @new_name
        WHERE str_name = @old_name
    END
END
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