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 Express 2012 - Ajout champ dans Table suivant ORDRE definit


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut SQL Server Express 2012 - Ajout champ dans Table suivant ORDRE definit
    Bonjour,

    Je viens une nouvelle fois soliciter votre aide, n'arrivant pas a trouver de solution sur le net et mes differentes recherches.

    J'ai une base de données Annuaire qui contient entre autre les champs suivants:
    1 NOM
    2 PRENOM
    3 ADRESSE
    4 TEL

    Les numeros sont les ID PROPRE a SQL Server lui permetttant de classer les champs.
    Je souhaite ajouter un champ par programmation avec un ALTER TABLE ADD .... mais je souhaiterais (pour des raisons d'esthétique et d'ordre !) l'insérer entre le PRENOM et l'ADRESSE soit en position 2,5.

    Est-ce possible ?
    Si oui via quel parametre ?

    Il s'agit en fait d'avoir la meme organisation de table entre differentes bases de données réparties sur plusieurs sites ...
    Bon, c'est pas super genant, je fais actuellement avec mais bon .... !!

    Merci pour vos retours et votre aide,

    Bonne journée,

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2013
    Messages : 74
    Points : 160
    Points
    160
    Par défaut
    Bonjour,
    Il n'existe pas (à ma connaissance) de moyen d'ajouter une colonne en l'intercalant entre deux colonnes existantes.
    Le plus simple est donc de recréer votre table en choisissant un nouvel ordre pour les colonnes.

    Vous pouvez l'effectuer simplement via Management Studio via les actions suivantes:
    1. Scripter l'ordre de création de la table existante
    2. modifier l'ordre des colonnes dans le script généré et/ou y ajouter vos nouvelles colonnes
    3. renommer la table existante
    4. Exécuter le script de création modifié
    5. transferrer les données depuis l'ancienne table vers la nouvelle (via l'outil d'import de données ou via un simple SELECT).

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Pour info : le modèle relationnel, sur lequel sont basés les SGBDR comme SQL Server, est basé sur la théorie mathématique des ensembles. Un ensemble n'a pas d'ordre, ses éléments ne sont pas ordonnés, donc cela n'a pas de sens dans un SGBDR de vouloir positionner physiquement des colonnes dans un ordre. L'ordre pourra toujours être décidé à la restitution dans le SELECT.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  4. #4
    Membre à l'essai
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    merci pour vos réponses.

    Je savais que cela n'avait pas d'influence sur le bon fonctionnement des bases ... mais les admin locaux souhaitaient pour des raisons de cohérence d'affichage ... avoir la meme présentation.
    Ils font une extraction depuis Excel et compare leur données (il s'agit d'une interface avec un telephone IP et souhaite comparer leur carnet d'adresse ...).

    Hors de question pour moi qu'ils s'amusent a casser la table et les datas, arrggggg.

    Encore merci a bientot.

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Sous Excel, cela ne prend que quelque secondes de permuter les colonnes... Cela peut (et devrait) aussi être fait dans la requête qui récupère les données, en spécifiant le nom des colonnes

    Vous pouvez aussi créer une vue faisant simplement un SELECT sur la table, en spécifiant les noms de colonne dans l'ordre que vous désirez. Vos admin locaux font ensuite ce qu'ils ont à faire en utilisant la vue.
    Derrière, ça vous laisse en plus la liberté de faire ce dont vous avez besoin sur la table (ajout de colonne, ...) sans que cela n'influence le process de vos admins, car le résultat par la vue restera inchangé.

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

Discussions similaires

  1. VB.NET et SQL Server Express 2012
    Par sultan87 dans le forum VB.NET
    Réponses: 0
    Dernier message: 13/10/2013, 10h56
  2. SQL Server Express 2012 / débuter
    Par georgie2 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 27/09/2012, 14h47
  3. Ajout champs dans table existante avec données
    Par Danix dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/03/2009, 08h51
  4. ajout champ dans table et formulaire
    Par moufflon dans le forum IHM
    Réponses: 1
    Dernier message: 15/02/2006, 12h01
  5. Réponses: 3
    Dernier message: 10/08/2005, 11h11

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