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 :

Enlever l'identity d'une colonne


Sujet :

Développement SQL Server

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut Enlever l'identity d'une colonne
    Bonjour,

    je cherche a enlever l'identity de ma table sous forme de script.
    Y a t il une facon simple avec un alter ?

    Merci a vous
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    Bonjour,
    L'instruction set identity_insert peut répondre à votre demande. Toutefois elle ne supprime pas la notion d'identité mais la désactive simplement. Cela est est utile pour des opérations ponctuelles et ne concerne que votre connexion courante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set identity_insert maTable on;
    On utilise off pour revenir à la valeur initiale

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 781
    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 781
    Points : 52 766
    Points
    52 766
    Billets dans le blog
    5
    Par défaut
    Non, s'agissant d'une propriété de colonne, tout comme la collation, le seule moyen de modifier est la destruction de la table... de même pour le type de données et le nom.

    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/ * * * * *

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 123
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    J'ai pu faire cette modification sans script. directement avec SQL Server Management Studio Clic droit sur la table-> Création ensuite avec un clic sur la colonne de clef primaire. Dans la fenêtre "Propriétés des colonnes" je peux modifier la valeur de la propriété "Spécification du compteur" De OUI à NON.

    Cela fonctionne, et je ne l'ai effectué que sur des environnements de dév et pré-prod, mais je n'ai aucune idée sur un éventuel impact sur les perfs surtout en prod....

  5. #5
    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,

    je n'ai aucune idée sur un éventuel impact sur les perfs surtout en prod....
    Comme vous l'a dit SQLPro, la suppression de cette propriété sous SSMS entraîne la destruction de la table :
    - copie dans une table temporaire
    - suppression de la table source
    - renommage de la table temporaire avec le nom de la table source

    Il vous suffit d'exécuter le Profiler pour le voir

    Les données actuellement contenues dans cette table ne seront donc pas accessibles durant le temps de la copie.

    @++

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 123
    Points : 77
    Points
    77
    Par défaut
    Merci pour cette info!

    Donc c'est SSMS qui va faire un drop de toutes les contraintes (DF, FK..etc) et les reconstruire après re-nomage de la table temporaire?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 123
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Non, s'agissant d'une propriété de colonne, tout comme la collation, le seule moyen de modifier est la destruction de la table... de même pour le type de données et le nom.

    A +
    Quand vous dites que même le changement du nom ou type de données d'une colonne entraine sa destruction, est-ce valable aussi pour ce script?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE Toto (MaColonne INT)
    GO
    ALTER TABLE Toto
    ALTER COLUMN MaColonne BIGINT
    GO
    Merci.

Discussions similaires

  1. Enlever des NA dans une colonne bien précise
    Par mydoudouitsk dans le forum R
    Réponses: 6
    Dernier message: 29/04/2015, 17h29
  2. Réponses: 4
    Dernier message: 12/08/2008, 12h20
  3. Suppression de la propriété Identity d'une colonne
    Par kalder dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 16/07/2008, 09h54
  4. Enlever une colonne !
    Par Chronax dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/03/2006, 16h15
  5. [SQL] Enlever les doublons par rapport a une colonne
    Par irenee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/12/2005, 19h23

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