IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Problème avec un INSERT


Sujet :

MS SQL Server

  1. #1
    nnj
    nnj est déconnecté
    Nouveau membre du Club
    Inscrit en
    Décembre 2002
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 26
    Points : 31
    Points
    31
    Par défaut Problème avec un INSERT
    Salut la communauté,
    J’ai un problème qui me tracasse en ce moment:
    Je possède une Base de données ayant les tables suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    TRAVAIL(CodeTravail varchar(5) PK NOT NULL, CodeAgence varchar(10) PK NOT NULL, CodeClassTrav varchar(3) FK NULL, CodeEmploi varchar(5) FK NULL, CodeJurid varchar(3) FK NULL, LibTravail varchar(35) NULL, BoolExempt bit,…)
     
    CLASSE_TRAVAIL(CodeClassTrav varchar(3) PK NOT NULL, CodeAgence varchar(10) PK NOT NULL, …) 
     
    EMPLOI(CodeEmploi varchar(5) PK NOT NULL , CodeAgence varchar(10) PK NOT NULL, CodeJurid varchar(3) FK NULL,…)
     
    JURIDICTION_TAXE(Codejurid varchar(3) PK NOT NULL, CodeAgence varchar(10) PK NOT NULL, …)
    Mon problème est que lorsque j’exécute la requête suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO TRAVAIL 
    (codetrav,codeagence,libtrav,codeclasstrav,codeemploi,codejurid,boolexempt) 
    VALUES('CODETRAV0','INTERF','Code de travail zero de l''agence 3','','','','1')
    j'ai l’erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Serveur : Msg 547, Niveau 16, État 1, Ligne 1
    Conflit entre l'instruction INSERT et la contrainte TABLE FOREIGN KEY 'FK_TRAVAIL_EMPLOI'. Le conflit est survenu dans la base de données 'PAYE', table 'EMPLOI'.
    L'instruction a été arrêtée.
    Alors que lorsque je rentre dans ma table TRAVAIL et j’y introduit les mêmes valeurs, il ne m’affiche pas de problème de contrainte

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Ce message ne survient que lors qu'il y a des problèmes de contraintes de clés étrangères.
    Vous pouvez générer le script de création de toutes les tables de ta base et les postes car celui que tu nous as posté n'est pas lisible.
    Tu peux t'inspirer de poste suivant : A lire avant de poster
    Et soyez rassurer d'avoir la reponse que vous attendez.
    Merci

  3. #3
    nnj
    nnj est déconnecté
    Nouveau membre du Club
    Inscrit en
    Décembre 2002
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 26
    Points : 31
    Points
    31
    Par défaut
    J'ai la solution merci.

    En fait,
    codeclasstrav,codeemploi et codejurid peuvent prendre une valeur nulle mais pas une chaine vide et pour cause, lorsque la chaine est vide, le SGBD va chercher dans la table correspondante(CLASSE_TRAVAIL,JURIDICTION_TAXE ou EMPLOI) l'enrégistrement ayant une chaine vide comme identifiant(ceci pour respecter la contrainte de clé étrangère)et lorsqu'il ne le trouve pas, il affiche une erreur de contrainte d'intégrité

    pour insérer des champs codeclasstrav,codeemploi et codejurid nulls, il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO TRAVAIL
    (codetrav,codeagence,libtrav,boolexempt)
    VALUES('CODETRAV0','INTERF','Code de travail zero de l''agence 3','1')

    A+++

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Et là vous vous rendez compte que SQL Serveur ne ment pas !!!

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 8
    Points
    8
    Par défaut fredd
    J'ai je pense a peu pres le meme probleme:

    j'ai une partie de script suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    DECLARE C CURSOR FOR SELECT Id, Zge_DINNum 
    FROM  ZoneGeo
    WHERE Zge_DIN = '1'
    OPEN C
    FETCH NEXT FROM C INTO @Id_Zge, @DIN_Num
    WHILE @@FETCH_STATUS = 0
    BEGIN
    	-- lecture du compteur d'id (+1)	
    	SET @cpt=(SELECT Max(Pl_Compteur)+1 FROM POSTES..PlanT 	
    	WHERE Id = (SELECT In_Pl_Id FROM POSTES..Indice WHERE In_Bd_Pt = @pt))
    	INSERT INTO DIN (Id, DIN_Num, Zge_Id, Ordre) VALUES (@cpt, @DIN_Num, @Id_Zge, @ordre)
    Le probleme est que j obtient le meme message d erreur. Dans mon cas, apres le select du curseur, normalement, @Id_Zge ne peut pas etre null.

    je ne vois pas ou ca cloche.

    Merci de votre reponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec un insert
    Par mademoizel dans le forum ASP
    Réponses: 4
    Dernier message: 06/03/2007, 13h31
  2. Problème avec l'insertion d'une image dans JPanel
    Par anutka dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 16/03/2006, 10h02
  3. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27
  4. [DREAM MX] Problème avec une insertion d'une anim' flash
    Par Mout85 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/09/2005, 12h47
  5. [MFC] problème avec les insertions dans CComboBox
    Par Joeleclems dans le forum MFC
    Réponses: 12
    Dernier message: 11/06/2004, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo