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é.
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
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.