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 :

[SQL Server] violation clé primaire


Sujet :

MS SQL Server

  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Par défaut [SQL Server] violation clé primaire
    bonjour,

    voilà j ai une table planning que voici:
    -fdv_cod (clé)
    -pla_dat (clé)
    -pla_hh (clé)
    -cl_cod etc...

    et voici une partie de mon programme:




    declare curseur2 cursor
    for select pla_dat, cl_cod
    from planning
    where cl_cod='0000108505'

    open curseur2
    fetch next from curseur2
    into @pla_dat, @fdv_cod
    while @@fetch_status=0
    begin

    update planning set
    pla_dat=@pla_dat+@nb_jours
    where fdv_cod='BDF000'

    fetch next from curseur2
    into @pla_dat, @fdv_cod
    end
    close curseur2
    deallocate curseur2

    a l'éxecution du programme on me renvoie le message suivant:

    "violation de la contrainte primary key pk_planning, impossible d'insérer une clé en double dans l'objet 'planning'

    Quelqu'un peut il m'aider?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Sans la définition COMPLETE de vos tables impossible de répondre.

    Lisez et APPLIQUEZ ceci :
    http://www.developpez.net/forums/showthread.php?t=96701

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Par défaut
    j'utilise sql server enterprise manager

    et voici le script de la table que j 'utilise en pièce jointe
    Fichiers attachés Fichiers attachés

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Salut,

    ben je vois pas ce qu'on faire pour toi.
    Tu essaies de mettre à jour des données qui créent une redondance, donc des clefs en doubles.

    Assures-toi que toutes tes variables sont bien incrémentées notamment @NB_JOURS puisques tu changes une des colonnes de ta clef primaire en la concaténant.
    A noter qu'en plus tu fais cela toujours sur la mêne valeur du code, donc t'as un vrai risque de clef en double !

    A+

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 14
    Par défaut
    je pense que @nb_jours est bien incrémentée car dans mon programme j'ai fais un autre curseur qui mettais à jour une colonne d'une autre table et qui fonctionne très bien

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

Discussions similaires

  1. [SQL SERVER 2008] Clé primaire VARCHAR + IDENTITY
    Par djskyz dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/08/2011, 09h17
  2. [SQL SERVER 2000] Clés primaires/index qui disparaissent
    Par voyageur dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 09/01/2008, 15h07
  3. [Sql server 2005] Clé primaire auto increment
    Par nemya dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 17/10/2006, 22h58
  4. [débutante] Clé Primaire en SQL-Server
    Par manel007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/02/2005, 18h42

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