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] Renommer une table


Sujet :

MS SQL Server

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut [Sql Server] Renommer une table
    Bonjour,

    Je cherche à renommer un table sous SQL Server mais je n'y arrive pas.
    J'ai la requête suivante mais qui donner une erreur au mot TO :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER TABLE t_prg_dates RENAME TO t_prg_date
    Il manque quoi ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 74
    Points : 84
    Points
    84
    Par défaut
    hello ,
    il faut utiliser sp_rename comem ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec sp_rename 'table1', 'nouveaunom'

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    Merci, j'ai également trouvé cette procédure hier soir sur le net.

    Mais un pote m'a donné une autre idée : INSERT INTO.
    Ca copie une table dans une autre sans la créér nécessairement. Pratique ! Du coup, c'est ce que j'ai fait et j'ai supprimé l'ancienne table ensuite.
    Ca fonctionne bien et c'est rapide à coder.

    Mais je vais quand même essayer la ps sp_rename histoire de.

    A+

    TP

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    sp_rename ne fait que les modifications au niveau des tables système, d'où sa performance exceptionnelle.

    Le insert into est très peu performant car il recopie la table en transactionnel => grosse charge sur le journal de transactions et besoin du double de tla taille de la table, ce qui peut poser problème pour les table volumineuses. Préférer alors carrément le SELECT INTO plutôt que le INSERT SELECT.


    De toute manière,ne pas oublier d'exécuter la commande suivante après chaque renommage ou remplacement de table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sp_recompile VotreTable
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    Oups ... Je me suis trompé en écrivant INSERT INTO ... J'ai écrit trop vite ... J'ai bien utilisé le SELECT INTO.

    Et en testant sp_rename (je viens de le faire y'a 1 heure), je suis tout de suite passé à cette solution. Encore plus simple à écrire et moins de ressources nécessaires (je m'en doutais, mais merci de me le confirmer)

    Par contre, je ne connaissais pas sp_recompile non plus, merci pour l'info. Je vais l'appliquer de suite.

    Merci bien tous les 2.

    ++

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

Discussions similaires

  1. [AC-2007] Comment lier une partie d'une Table Sql Server avec une table Access
    Par mirage3000 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 02/09/2011, 03h59
  2. Remplir table sql server depuis une table excel
    Par silifana dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/02/2009, 15h23
  3. Réponses: 3
    Dernier message: 15/10/2008, 09h24
  4. renommer une table en sql server 2005
    Par niceen dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/04/2008, 13h25
  5. [SQL Server] parcourir une Table avec un FOR
    Par papouAlain dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/06/2006, 11h49

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