2017-05-03 2 views
0

Tableau 1Créer la table donne table d'erreurs existent déjà

Col1 Col2  Col3 
1 'Name1' 'Address1' 

Où est col1 clé primaire avec la contrainte 'constraint1'. Maintenant, je veux renommer Table1 à Table2. Ajouter col1_1 en elle et changer la clé primaire de « col1 » à col1_1

Ensuite, créez une nouvelle table avec nom « Table1 »

Maintenant, j'avais renommé table Table1 à Tableau2 et colonne ajoutée « col1_1 » dans comme clé primaire dans le script de déploiement.

dans le script avant de déploiement:

1: ancienne contrainte de clé primaire supprimée.

2: Renommer Table1 à Table2 en utilisant sp_rename

Quand je publierai la base de données que je reçois l'erreur « Table2 » objet existe déjà sur Créer « Table2 »

+0

Pouvez-vous afficher le script? Il semble que vous n'ayez pas de 'GO' après le' sp_rename'. –

+0

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES OÙ TABLE_NAME = 'Tableau 1') \t BEGIN \t \t EXEC sp_rename 'Table1', 'Tableau2' \t FIN GO –

+1

J'ai GO après sp_rename –

Répondre

0

Si vous avez accès à SSMS, ou si vous peut obtenir un DBA pour le vérifier pour vous .. alors s'il vous plaît vérifiez d'abord si un objet portant le nom Table2 existe déjà. Vous pouvez exécuter le dessous de T-SQLs

USE DatabaseName 
GO 
select * from sysobjects 
where name = 'Table2' 
GO 

Dans le jeu de résultats de la requête ci-dessus, xtype dénotera le type d'objet. Vous pouvez obtenir une liste des types d'objet en exécutant la requête ci-dessous:

SELECT * 
FROM master..spt_values 
WHERE type = 'O9T'