Violation de contrainte de clé étrangère (FK)
Posted in 1999
Topics: General Discussion
Translated from English by DrWatson — View original
Mon problème est que j'ai une table maître qui possède plusieurs tables filles et que, lorsque je supprime une ligne dans ma table maître, je peux analyser sqlca.sqlerrd[1] pour découvrir que quelqu'un référence ma table maître (-692. La valeur de clé pour la contrainte (nom de la contrainte PK de ma table maître) est toujours référencée), mais je voudrais connaître le nom de la contrainte FK qui a été violée. Existe-t-il un moyen de connaître le nom de la contrainte qui a été violée ? Merci /Mickael Lindh -----------== Publié via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Cherchez, lisez, discutez ou lancez votre propre discussion
J'ai un script qui permet d'afficher les tables référencées par une table. Il contient du SQL qui montre les tables informix qui assurent le suivi des contraintes. URL : http://www.tc.umn.edu/~hause011 le script est ref_load_ord -- --------------------------------------------------------- Steven Hauser e-mail : hause011@tc.umn.edu URL : http://www.tc.umn.edu/~hause011 ---------------------------------------------------------
Mickael, Une fois que la contrainte a été violée, vous pouvez évaluer le membre SQLERRM de l'enregistrement SQLCA. Le membre SQLERRM contient le nom de la contrainte qui a été violée. Avec ce nom de contrainte, vous pouvez interroger la table catalogue « sysconstaints » et trouver ce que vous cherchez. Cordialement, Henk mickelindh@my-dejanews.com a écrit : > Mon problème est que j'ai une table maître qui possède plusieurs tables filles et si je > supprime une ligne dans ma table maître, je peux analyser sqlca.sqlerrd[1] pour découvrir que > quelqu'un référence ma table maître (-692. La valeur de clé pour la contrainte (le nom > de la contrainte PK de ma table maître) est toujours référencée), mais je voudrais connaître > le nom de la contrainte FK qui a été violée > > Existe-t-il un moyen de connaître le nom de la contrainte qui a été violée ? > > Merci > > /Mickael Lindh > > -----------== Posté via Deja News, The Discussion Network ==---------- > http://www.dejanews.com/ Recherchez, lisez, discutez ou lancez votre propre discussion
Mickael, Une fois la contrainte violée, vous pouvez évaluer le membre SQLERRM de l'enregistrement SQLCA. Le membre SQLERRM contient le nom de la contrainte qui a été violée. Avec le nom de la contrainte, vous pouvez interroger la table catalogue « sysconstaints » et y trouver les informations que vous recherchez. Cordialement, Henk mickelindh@my-dejanews.com a écrit : > Mon problème est que j'ai une table maître à laquelle sont rattachées plusieurs tables filles et si je > supprime une ligne dans ma table maître, je peux analyser sqlca.sqlerrd[1] pour découvrir que > quelqu'un référence ma table maître (-692. La valeur de clé pour la contrainte (le nom de la > contrainte PK de ma table maître) est toujours référencée), mais je voudrais connaître > le nom de la contrainte FK qui a été violée > > Existe-t-il un moyen de connaître le nom de la contrainte qui a été violée ? > > Merci > > /Mickael Lindh > > -----------== Publié via Deja News, The Discussion Network ==---------- > http://www.dejanews.com/ Recherchez, lisez, discutez ou lancez votre propre discussion