17. september 2003 - 15:44
#5
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.
Et eksempel:
Language tabellen har følgende records :
1, English, English Language, 08/09/03, NULL
Localized tabellen har følgende records :
1,1,1,1, pause, 08/09/03, NULL
1,1,1,2, start, 08/09/03, NULL
1,1,1,3, stop, 08/09/03, NULL
1,1,1,4, play, 08/09/03, NULL
Efter et tilføjet sprog som denne :
2, German, German Language, 09/09/03, NULL
Skal tabellen Localized se sådan her ud :
1,1,1,1, pause, 08/09/03, NULL
1,1,1,2, start, 08/09/03, NULL
1,1,1,3, stop, 08/09/03, NULL
1,1,1,4, play, 08/09/03, NULL
1,1,2,1, pause, 08/09/03, NULL
1,1,2,2, start, 08/09/03, NULL
1,1,2,3, stop, 08/09/03, NULL
1,1,2,4, play, 08/09/03, NULL
Hvordan vil min trigger så se ud med de ekstra informationer. Håber du kan hjælpe mig.
donnib
19. september 2003 - 12:52
#11
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'