Problème avec alter table ... add constraint ...foreign key .. [Résolu]

Signaler
Messages postés
9
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
20 novembre 2005
-
Messages postés
9
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
20 novembre 2005
-
Bonjour,


Le cas est le suivant :


Je crée une table maTable1


Ensuite j'ajoute une clé étrangère à cette table de la manière suivante


alter table maTable1


add constraint fk_maTable1 foreign key (colonne1)
references maTable2(maTable2Col_1) on update cascade



Vous pouvez voir que j'utilise on update cascade



Ma question est la suivante


Quand je crée une autre clé étrangère sur la table maTable1 avec l'option on update cascade ca ne passe pas à l'exécution. Le message suivant apparaît:


Introducing FOREIGN KEY constraint 'fk12_Installation' on table 'Station' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.


Apparement il n'est pas possible d'avoir plusieurs clés avec l'option on update casacde.


Mais dans ma base, il faut que je puisse utiliser plusieurs clé avec l'option on update cascade. Comment je peux le faire ???


Merci.


P.S : Désolé de tout le temps poser des questions mais je suis entrain de migrer une base de données écrit dans le langage Watcom-SQL(Sybase) vers SQL Server 2005 et j'ai plein de bug qui apparaissent lors de la création.

2 réponses

Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
salut je pense que tu ne pourra pas le faire directement avec un ON DELETE..

essaie peut etre d'utiliser un trigger qui va avoir la meme action : quand tu fait un DELETE, tu supprime dans le trigger les donnees correspondantes dans les autres tables. ca je pense que ca devrait marcher.
Messages postés
9
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
20 novembre 2005

Merci aieeeeeuuuu,

Je vais essayer avec le trigger. C'est vraiment cool d'avoir répondu!

Bye