17. september 2003 - 13:05Der er
10 kommentarer og 1 løsning
Kopier rows fra tabel TRIGGER ?
Hej alle, Jeg har to tabeller. En med nogle informationer (den kalder vi localized) som referrer til den anden tabel som indeholder nogle sprog. Lad os nu sige jeg har 4 records i Localized tabellen som alle refererer til samme sprog i tabellen sprog og dette er sproget engelsk. Jeg vil nu gerne lave en trigger som ved indsættelse af et nyt sprog i tabellen Sprog kan kopiere alle de rows som eksisterer i tabellen Localized og som peger på sproget engelsk og indsætte dem i samme tabel men nu skal de pege på den nye sprog. Håber jeg har forklaret det rigtig nok eller må i spørge og så må jeg tegne det eller forklare det bedre.
okey men kan du hælpe mig lidt videre. Jeg tror ikke jeg er helt med. Mine to tabeller ser sådan ud.
Language: LanguageID //Primary key LanguageName //varchar Descript //varchar Created //har default værdier så de skal ikke udfyldes Modified //har default værdier så de skal ikke udfyldes
Localized: ApplicationID //foreign key af typen smallint VersionID //foreign key af typen smallint LanguageID //foreign key (til language tabellen) af typen smallint ResourceID //foreign key af typen smallint ResourceValue //typen er varchar Created // har default værdier så de skal ikke udfyldes Modified // har default værdier så de skal ikke udfyldes
Som jeg har fortalt før skal alle de records som er i Localized og peger på engelsk som har et LanguageID = 1 kopieres til Localized igen men den eneste ændring skal være at recordsene skal nu pege på den LanguageID.
Tusind tak for din hjælp. Alt fungerede fint med nogle små ændringer. Sådan sår triggeren ud til sidst :
CREATE TRIGGER tr_ins_Language ON language FOR INSERT AS DECLARE @Language smallint
SELECT @Language = LanguageID FROM inserted
INSERT INTO Localized(ApplicationID,VersionID,LanguageID,ResourceID, ResourceValue) SELECT Localized.ApplicationID, Localized.VersionID, @Language, Localized.ResourceID, Localized.ResourceValue FROM Localized, Language WHERE Language.LanguageName = 'English'
Synes godt om
Ny brugerNybegynder
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.