2010-06-17 5 views

Répondre

18
sp_rename 'TableName.ColumnName', 'NewColumnName', 'COLUMN' 
2

sp_rename comme décrit here.

Bien que je semble me rappeler qu'il ne peut pas toujours être utilisé.

+0

je veux le faire sans sp_rename comment puis-je faire modifier .... – Penguen

+0

@Phsika: ne pensez pas que vous pouvez, me as frustré aussi parfois. –

4

je veux faire sans sp_rename comment puis-je faire modifier ..

Vous ne pouvez pas. Vous pouvez créer une nouvelle colonne dans la table, en utilisant le nouveau nom, copier le contenu de l'ancienne colonne dans la nouvelle colonne, puis abandonner l'ancienne colonne (c'est deux ALTER et une UPDATE), mais la seule façon de le faire est sp_rename.

Voici un lien vers ALTER TABLE documentation, où vous pouvez voir les options qui s'offrent à vous. Le changement n'en est pas un.

Cette section de la documentation couvre ce que vous pouvez faire dans le cadre d'une clause ALTER COLUMN de ALTER TABLE:

ALTER COLUMN column_name 
{ 
    [ type_schema_name. ] type_name [ ({ precision [ , scale ] 
     | max | xml_schema_collection }) ] 
    [ COLLATE collation_name ] 
    [ NULL | NOT NULL ] 
| {ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION} 
} 

Note, il n'y a aucune mention d'un nouveau nom. Donc, encore une fois, pour répéter, vous ne pouvez pas renommer une colonne en utilisant ALTER TABLE, dans SQL Server. Si elles mis en œuvre la syntaxe standard (qu'ils ne le font pas), il serait ALTER TABLE [nom_table] RENAME {COLONNE} [column_name] À [new_column_name]

+0

Modifier la table 'Customer' change 'newColumnName' '[Prénom]' size size est-il vrai CHANGE n'est pas dans ms sql? – Penguen

0

Pour MySQL, la syntaxe est:

ALTER TABLE <db>.<table> CHANGE COLUMN <old_column_name> <new_column_name> <column_type>; 
1

Essayez ceci renommer la colonne est

EXEC sp_RENAME 'table_name.old_Column_name', 'new_Column_name', 'COLUMN' 
Questions connexes