comment renommer le nom de la colonne avec T-SQL

J'ai besoin d'aide avec la colonne de table SQL Server. J'essaie de renommer le nom de la colonne, mais cela ne fonctionne pas.

USE COST_mesta_test
GO
EXEC sp_rename '[dbo].[1965$].obec' , 'people' , 'COLUMN'
GO

J'ai essayé une combinaison différente de crochets [] et chemin vers la table " obec" (par exemple: 1965.obec; 1965$.obec; 1965.[obec]; etc.) Mais je reçois toujours une erreur:

Soit le paramètre @ objname est ambigu, soit le @objtype revendiqué (COLONNE) est erroné.

33
demandé sur John Saunders 2012-02-20 04:56:01

2 réponses

Je ne comprends pas vraiment comment votre table est configurée-ie. le nom de la table, le nom de la colonne, etc.-c'est donc un exemple de la façon dont le processus fonctionne pour les renommages de colonnes:

Si j'avais une table comme celle-ci:

CREATE TABLE [dbo].[Company](
[ID] [int],
[CompanyName] [varchar](20)
)

Et voulait changer la colonne [CompanyName], c'est la commande:

EXEC sys.sp_rename 
    @objname = N'dbo.Company.CompanyName', 
    @newname = 'Name', 
    @objtype = 'COLUMN'

Je soupçonne que votre premier argument n'est pas correct.

À Partir de la documentation (sp_rename (Transact-SQL))

Si l'objet à renommer une colonne dans une table, object_name doit être sous la forme table.colonne ou schéma.table.colonne. Si l'objet à renommer est un index, object_name doit être dans la table de formulaire.indice ou d'un schéma.table.index

60
répondu Beno 2012-02-20 01:55:21

Vous pouvez également modifier le nom de la colonne en cliquant avec le bouton droit sur le nom de la colonne et en choisissant l'option "Renommer" dans L'Explorateur D'objets.

7
répondu Kamran Bigdely 2012-12-16 06:57:22