OVH Cloud OVH Cloud

Clef etrangére SQLS2000

2 réponses
Avatar
Tankian
Bonjour,=20

Je d=E9bute sur SQL SERVER2000 et j'ai cr=E9=E9 2 tables :=20

| T_USER=20
| matricule | char(8) (PK)=20
| nom=20
| prenom=20
| mdp=20
-----------------=20

| T_HABI=20
| M_10=20
| M_20=20
| M_30=20
| matricule=20
-----------------=20
=20

Ensuite par le biais du diagramme, j'indique que le champs=20
matricule de la table T_HABI est une clef =E9trang=E9re et=20
j'ai coch=E9 les cases suivante :=20
appliquer la relation pour la r=E9plication, appliquer la=20
relation pour l'insert et l'update, mettre =E0 jour en=20
cascade les champs correspondants, effacer en cascade les=20
champs correspondants.=20

Comme vous l'aurez devin=E9, je souhaite simplement cr=E9er=20
des comptes utilisteur, et que a 1 compte correspondante=20
une habilitation et que si on supprime un compte,=20
l'habilitation soit supprim=E9e automatiquement.=20

Seulement lorsque, via visual basic je souhaite cr=E9er un=20
compte, au moment ou j'update ma table T_USER, une erreure=20
me dit :=20
"Conflit entre l'instruction INSERT et la contrainte=20
COLUMN FOREIGN KEY "FK_T_HABILITATION_T_USER1" Le conflit=20
est survenue dans la base 'GDA', table "T_USER",=20
COLUMN 'matricule' "=20

Merci d'avance,

2 réponses

Avatar
Patrice
La relation ne serait pas dans le bon sens ? Que se passe t'il si tu insères
dans T_HABI puis dans T_USER ?

Patrice

"Tankian" a écrit dans le message de
news:b00c01c4372c$4d18b4d0$
Bonjour,

Je débute sur SQL SERVER2000 et j'ai créé 2 tables :

| T_USER
| matricule | char(8) (PK)
| nom
| prenom
| mdp
-----------------

| T_HABI
| M_10
| M_20
| M_30
| matricule
-----------------


Ensuite par le biais du diagramme, j'indique que le champs
matricule de la table T_HABI est une clef étrangére et
j'ai coché les cases suivante :
appliquer la relation pour la réplication, appliquer la
relation pour l'insert et l'update, mettre à jour en
cascade les champs correspondants, effacer en cascade les
champs correspondants.

Comme vous l'aurez deviné, je souhaite simplement créer
des comptes utilisteur, et que a 1 compte correspondante
une habilitation et que si on supprime un compte,
l'habilitation soit supprimée automatiquement.

Seulement lorsque, via visual basic je souhaite créer un
compte, au moment ou j'update ma table T_USER, une erreure
me dit :
"Conflit entre l'instruction INSERT et la contrainte
COLUMN FOREIGN KEY "FK_T_HABILITATION_T_USER1" Le conflit
est survenue dans la base 'GDA', table "T_USER",
COLUMN 'matricule' "

Merci d'avance,
Avatar
Tankian
C'est j'ai trouvé ;)
-----Message d'origine-----
Bonjour,

Je débute sur SQL SERVER2000 et j'ai créé 2 tables :

| T_USER
| matricule | char(8) (PK)
| nom
| prenom
| mdp
-----------------

| T_HABI
| M_10
| M_20
| M_30
| matricule
-----------------


Ensuite par le biais du diagramme, j'indique que le


champs
matricule de la table T_HABI est une clef étrangére et
j'ai coché les cases suivante :
appliquer la relation pour la réplication, appliquer la
relation pour l'insert et l'update, mettre à jour en
cascade les champs correspondants, effacer en cascade les
champs correspondants.

Comme vous l'aurez deviné, je souhaite simplement créer
des comptes utilisteur, et que a 1 compte correspondante
une habilitation et que si on supprime un compte,
l'habilitation soit supprimée automatiquement.

Seulement lorsque, via visual basic je souhaite créer un
compte, au moment ou j'update ma table T_USER, une


erreure
me dit :
"Conflit entre l'instruction INSERT et la contrainte
COLUMN FOREIGN KEY "FK_T_HABILITATION_T_USER1" Le conflit
est survenue dans la base 'GDA', table "T_USER",
COLUMN 'matricule' "

Merci d'avance,
.