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

Développement SQL Server Discussion :

requete modifier la clé primaire


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut requete modifier la clé primaire
    Salut,

    Bon j'ai besoin d'une requete pour modifier la clé primaire.
    Par exemple j'ai une table qui a comme colonne (id, nom prenom, adresse),
    disons que la clé primaire référence la table id.
    Ce que je veux faire maintenant c'est modifier la clé primaire pour avoir (id, prénom) comme nouvelle clé.
    Comment pourais-je faire cela sous sql server 2005 avec une requete?

    Merci d'avance,

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Ce que vous voulez faire est faisable mais conceptuellement faux.
    En effet chaque entité doit avoir un identifiant qui le caractérise de manière unique : en l'occurrence votre colonne ID, qui doit rester clé primaire de voter table.
    Ce que vous pouvez faire c'est ajouter une contrainte d'unicité sur le prénom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE maTable
    ADD CONSTRAINT UQ_maTable_prenom UNIQUE (prenom)
    mais que ferez-vous le jour ou vous aurez deux prénoms identiques ?

    @++

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Ce que vous voulez faire est faisable mais conceptuellement faux.
    En effet chaque entité doit avoir un identifiant qui le caractérise de manière unique : en l'occurrence votre colonne ID, qui doit rester clé primaire de voter table.
    Ce que vous pouvez faire c'est ajouter une contrainte d'unicité sur le prénom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE maTable
    ADD CONSTRAINT UQ_maTable_prenom UNIQUE (prenom)
    mais que ferez-vous le jour ou vous aurez deux prénoms identiques ?

    @++
    C'était juste un exemple pas bien pensé je l'avoue .
    bon, le problème est réglé avec les requêtes suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE nomTable DROP CONSTRAINT nomContrainte
    ALTER TABLE nomTable ADD CONSTRAINT nomContrainte PRIMARY KEY CLUSTERED (les champs)
    Je ne sais pas ce que vous en pensez, mais cela me donne le résultat voulu.
    Reste maintenant le problème des clés étrangères. C'est que s'il s'agit d'une table qui a des relations avec d'autres, il faut d'abord supprimer ces relations puis apporter les changements sur les clés étrangères puis redéfinir les nouvelles relations. Ce qui est fastudieux comme meme.

    Merci pour votre réponse ,

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Quel est plus exactement votre besoin ?

    @++

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Salut,

    Bon, je dois développer un outil d'export de données de paramétrage avec vb.net.
    J'ai par exemple un fichier xml qui doit contenir la structure et les données d'une base de données qu'on vient de modifier coté développeur, je dois par la suite comparer la base de données du client avec le fichier xml et apporter les changements voulus.
    Jusqu'à maintenant nous avons réussi à exporter la structure de la base dans le fichier xml et il nous reste les données, et on cherche maintenant à lire le fichier xml et modifier la base de données coté client.
    Et on se plante sur les requetes et le code.
    J'espère que c'est clair.

    Merci pour tout,

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    J'espère que c'est clair.
    Oui mais je ne vois pas le rapport avec la modification de la clé primaire que vous avez demandée.
    Vous pouvez tout à fait stocker le fichier XML en base de données et le requêter ensuite en utilisant les méthodes du types de données XML.
    C'est aussi faisable avec SQL Server Integration Services

    @++

Discussions similaires

  1. [WD12] Requete Modifier qui modifie pas
    Par pocketpit dans le forum WinDev
    Réponses: 2
    Dernier message: 23/12/2008, 03h24
  2. comment modifier mes clefs primaires
    Par turican2 dans le forum Débuter
    Réponses: 5
    Dernier message: 18/10/2008, 09h11
  3. Modifier la clé primaire (et non sa valeur)
    Par Sh4dow49 dans le forum SQL
    Réponses: 8
    Dernier message: 30/09/2008, 21h07
  4. supprimer ou modifier un clé primaire
    Par tahir dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/10/2006, 08h01
  5. Modifier la surface primaire (avec un filtre)
    Par cemoi dans le forum DirectX
    Réponses: 56
    Dernier message: 01/01/2004, 20h48

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