Hallo,
ich habe Probleme bei der Erstellung eines Fremdschlüßels.
In einer Datenbank gibt es die Tabellen Adressen, Personen und Kommunikation. Kommunikation solle alles Kommunikationsdaten für Adressen und Personen enthalten.
Da der Adressen und Personen die gleichen Schlüßel haben können gibt es das Feld ReferenzType. ReferenzType A = Adressen ReferenzType P = Personen.
Leider bekomme ich einen Fehler bei der Erstellung des Fremdschlüßels, da er die Konstante nicht akzeptiert.
Die Anweisungen sollten so aussehen:
[highlight=sql]
ALTER TABLE [dbo].[dhKommunikation] *WITH CHECK ADD *CONSTRAINT [FK_dhKommunikation_dhAdressen] FOREIGN KEY([ReferenzID],[ReferenzType])
REFERENCES [dbo].[dhAdressen] ([AdresseID],'A')
ALTER TABLE [dbo].[dhKommunikation] *WITH CHECK ADD *CONSTRAINT [FK_dhKontakte_dhKunden] FOREIGN KEY([ReferenzID],[ReferenzType])
REFERENCES [dbo].[dhKontakte] ([KontakteID],'P')
[/highlight]
Hat jemand einen Tipp wie man das Problem löst?
Grüsse
Bernd
ich habe Probleme bei der Erstellung eines Fremdschlüßels.
In einer Datenbank gibt es die Tabellen Adressen, Personen und Kommunikation. Kommunikation solle alles Kommunikationsdaten für Adressen und Personen enthalten.
Da der Adressen und Personen die gleichen Schlüßel haben können gibt es das Feld ReferenzType. ReferenzType A = Adressen ReferenzType P = Personen.
Leider bekomme ich einen Fehler bei der Erstellung des Fremdschlüßels, da er die Konstante nicht akzeptiert.
Die Anweisungen sollten so aussehen:
[highlight=sql]
ALTER TABLE [dbo].[dhKommunikation] *WITH CHECK ADD *CONSTRAINT [FK_dhKommunikation_dhAdressen] FOREIGN KEY([ReferenzID],[ReferenzType])
REFERENCES [dbo].[dhAdressen] ([AdresseID],'A')
ALTER TABLE [dbo].[dhKommunikation] *WITH CHECK ADD *CONSTRAINT [FK_dhKontakte_dhKunden] FOREIGN KEY([ReferenzID],[ReferenzType])
REFERENCES [dbo].[dhKontakte] ([KontakteID],'P')
[/highlight]
Hat jemand einen Tipp wie man das Problem löst?
Grüsse
Bernd
Comment