2009-03-20 5 views
0

J'ai une base de données dans laquelle la table principale a un champ de clé primaire vraiment mal nommé que je veux renommer. Ce champ de clé primaire est référencé par environ 20 autres tables et environ 15 procédures stockées.Renommer des champs de base de données

Quel est le moyen le plus simple de renommer ce champ partout où il est référencé dans la base de données?

Répondre

4

Des outils de refactoring de base de données existent pour effectuer exactement le type d'opération dont vous avez besoin. Juste google pour «outils de refactoring de base de données» et choisissez quelque chose qui fonctionnera avec votre marque particulière de base de données. DB Deploy est un exemple d'un tel outil .

Si pour une raison quelconque vous vouliez le faire manuellement et que vous n'aviez pas besoin d'une énorme base de données, je ferais probablement une exportation de texte de la base de données (ddl et data) et ensuite je trouverais & remplacer.

edit: De plus, le logiciel de Redgate (http://www.red-gate.com/) est très bien noté mais coûte de l'argent. Personnellement, je pense que leurs produits sont excellents et valent chaque centime vu le temps qu'ils peuvent économiser.

0

Si c'était moi, je le ferais manaully en utilisant Managment Studio; Sélectionnez la base de données et faites un clic droit pour obtenir Tâches -> Générer des scripts et sélectionnez tous les objets dans la base de données pour exporter le DDL dans une nouvelle fenêtre de requête, ou utilisez votre commande 'find' pour trouver chaque instance où la clé existe, puis effectuez le changement correspondant en utilisant le studio de gestion directement dans la base de données.

Assurez-vous de sauvegarder que vous avez une base de données de sauvegarde au cas où.

Questions connexes