Bonjour,
Ma question va paraitre débile mais j'ai un soucis avec Sql server 2005 que j'aimerais bien solutionner proprement
En fait j'ai une première table avec des données du style Acteur.
Une autre table film avec une des données et 2 Acteurs.
Ce que je voudrais arriver a faire c'est une relation entre les acteurs de ma table film et les acteurs.
Pour ça j'utilise la commande
Pour le premier cela marche très bien, pour le deuxième pas, j'obtiens l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ALTER TABLE [dbo].[DACT] WITH CHECK ADD CONSTRAINT [FK_DACT_DPTD02] FOREIGN KEY([DACT27F]) REFERENCES [dbo].[DPTD] ([DPTD01K]) ON UPDATE CASCADE ON DELETE NO ACTION
Introducing FOREIGN KEY constraint 'FK_DACT_DPTD02' on table 'DACT' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Solution évidement ne pas mettre de 'on update', autre solution écrire un trigger qui désactive ma FK fais les update et la réactive.
Mon modèle est logique d'un point de vue relationnel. C'est une faiblesse de Sql je l'ai déjà lu.
Ma question est donc, est-ce que j'écrit mal ma clé étrangère? Quel est la solution la plus propre que vous employez? (pas d'update n'est pas la réponse attendue )
ps : le cas des acteurs et film est évidement totalement fictif, dans ce cas la j'aurais obligatoirement utilisé une table associative.
Partager