Précédent   Forum des professionnels en informatique > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2006, 16h15   #1
Membre expérimenté
 
Avatar de bassim
 
Homme
Ingénieur Réseaux
Inscription : février 2005
Messages : 647
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Réseaux
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 647
Points : 568
Points : 568
Envoyer un message via MSN à bassim Envoyer un message via Yahoo à bassim
Par défaut Une Foreign Key peut-elle être null ?

voila , mon problème c'est que j'ai une table COMMANDE qui contient un champ
FACT qui est une clé etrangere de la table FACTURE (sur son numero) .

mais voilà , comme la vente ne se fait pas forcement le même jour que la commande , je voudrais pouvoir laisser le champ FACT à null jusquà ce que la vente soit effectuée.

Est ce possible ou dois je changer de méthode ??
bassim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 18h30   #2
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 10
Points : 10
Par défaut Bien sur ...

Une clé étrangere est nulle ou a une valeur de la table sur laquelle elle fait reference ...
Benoît
bdurtaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 18h38   #3
Membre expérimenté
 
Avatar de bassim
 
Homme
Ingénieur Réseaux
Inscription : février 2005
Messages : 647
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Réseaux
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 647
Points : 568
Points : 568
Envoyer un message via MSN à bassim Envoyer un message via Yahoo à bassim
le probleme c que si j'essaye de creer un enregistrement COMMANDE , et que je laisse le champ FACT à null , il me met une erreur champ null
bassim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 19h06   #4
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 10
Points : 10
Ce champs est not null dans la base ?
Ce ne dois pas etre le cas ..
bdurtaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 19h14   #5
Membre expérimenté
 
Avatar de bassim
 
Homme
Ingénieur Réseaux
Inscription : février 2005
Messages : 647
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Réseaux
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 647
Points : 568
Points : 568
Envoyer un message via MSN à bassim Envoyer un message via Yahoo à bassim
non , il n'est pas not null ... donc ou est le probleme ??
bassim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 19h18   #6
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 10
Points : 10
Faudrait que je vois ton code , ca peut venir de la partir cliente si tu as coder ...
Si tu executes un insert a la main ca plante ?
bdurtaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 19h26   #7
Membre expérimenté
 
Avatar de bassim
 
Homme
Ingénieur Réseaux
Inscription : février 2005
Messages : 647
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Réseaux
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2005
Messages : 647
Points : 568
Points : 568
Envoyer un message via MSN à bassim Envoyer un message via Yahoo à bassim
En fait , j'utilise Interbase Expert et j'ajoute l'enregistrement sans coder pour essayer avant ...
et la il me met l'erreur suivante:
Code :
1
2
The INSERT failed because a COLUMN definition includes validation constraints.
validation error FOR COLUMN FACT, value "*** null ***".
Edit : et j'ajoute que la contrainte sur FACT est codé ainsi :
Update Rule : No Action
Delete Rule : No Action
j'ai essayé les autres combinaisons mais celle là semble la plus logique
bassim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 20h00   #8
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 10
Points : 10
je ne vois pas , pas de trigger ?
Avec le script de la base peut etre ....
bdurtaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 22h03   #9
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Tout est dans le message d'erreur....

L'insertion a échoué car une définition de colonne inclut une validation de contrainte.

La colonne FACT, lors de l'insertion, doit trouver une valeur correspondant à sa valeur dans la table à laquelle la contrainte fait référence.

Dans ton cas, il n'y a pas de FK ayant une "valeur" NULL, donc la contrainte n'est pas respectée et l'insertion échoue.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 20h20   #10
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 10
Points : 10
Par défaut euh ....

Pas vraiment compris ce que vous vouliez dire la ....
INSERT INTO TB_RC_CATEGORIES(CAT_CLE, CAT_CODE, CAT_INTITULE, CAT_TYPE)
VALUES (2000, 'rr', 'rrrrrrrrrr' , NULL )
par exemple marche avec CAT_TYPE qui reference une table ....
bdurtaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h46.


 
 
 
 
Partenaires

Hébergement Web