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 :

Renommer table sur base annexe [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2014
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Renommer table sur base annexe
    Bonjour,

    Je cherche une manière de renommer une table stockée dans une base de données autre que celle à partir de laquelle est effectuée la demande.

    Cette demande intervient dans le cadre du développement d'un module de traçabilité. Je travaille donc avec deux bases de données, situées sur la même instance SQL Server :
    • DB_APPLICATIVE : base contenant toutes les tables de l'application.
    • DB_TRACABILITE : base contenant une copie (sans les données) de chaque table dont les données doivent être tracées.

    Les tables de la base DB_TRACABILITE sont remplies grâce à des triggers déclenchés sur la base DB_APPLICATIVE. Dans certains cas j'ai besoin de renommer l'une des tables de la base DB_TRACABILITE. Ce traitement est lancé par le biais d'une procédure stockée de la base principale.

    Il m'est donc impossible d'utiliser la procédure stockée système "sp_rename", même en indiquant le nom complet ([DB_TRACABILITE].[dbo].[TB_NAME]) pour le paramètre @oldname. Cela est normal car la documentation indique que cette procédure travaille sur la base actuelle.

    Je peux très bien faire un SELECT * INTO TB_NAME_NEW FROM TB_NAME puis supprimer TB_NAME, mais je suppose que cela peut prendre plus de temps si la table contient beaucoup de données.

    Quelqu'un aurait-il une meilleure solution/suggestion ?

  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 782
    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 782
    Points : 52 784
    Points
    52 784
    Billets dans le blog
    5
    Par défaut
    Le mieux est d'utiliser un déclencheur DDL sur l'EventType RENAME et en faisant la modif de manière synchrone dans la table source.

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

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/09/2010, 10h21
  2. [AC-2003] création de table sur base sql distante
    Par novice06 dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/06/2010, 11h27
  3. sql server 2005 creation table sur base miroir
    Par s0080223 dans le forum Développement
    Réponses: 3
    Dernier message: 08/01/2010, 14h57
  4. [debutant]selection tables sur Bases de donnees
    Par smutmutant2003 dans le forum SQL
    Réponses: 2
    Dernier message: 13/08/2007, 18h24
  5. Requête création de table sur base mise en réseau
    Par boss dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/01/2007, 15h49

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