2010-06-17 15 views

risposta

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

sp_rename come descritto here.

Anche se mi sembra di ricordare che non può essere sempre utilizzato.

+0

voglio farlo senza sp_rename come posso fare che modificare .... – Penguen

+0

@Phsika: non credo che si può, mi hai frustrato anche a volte. –

4

voglio farlo senza sp_rename come posso fare che modificare ..

Non è possibile. Puoi creare una nuova colonna nella tabella, usando il nuovo nome, copiare il contenuto della vecchia colonna nella nuova colonna e quindi rilasciare la vecchia colonna (che è due ALTER e un UPDATE), ma l'unico modo per farlo altrimenti è sp_rename.

Ecco un collegamento a ALTER TABLE documentation, in cui è possibile visualizzare le opzioni disponibili. Il cambiamento non è uno di loro.

Questa sezione della documentazione copre ciò che si può fare come parte di una clausola ALTER COLUMN dell'istruzione 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} 
} 

Nota, non c'è alcuna menzione di un nuovo nome. Quindi, ancora una volta, per ripetere, non è possibile rinominare una colonna utilizzando ALTER TABLE, in SQL Server. Se hanno implementato la sintassi standard (che non lo fanno), sarebbe ALTER TABLE [nome_tabella] RENAME {COLONNA} [nome_colonna] a [new_column_name]

+0

Modifica tabella 'Cliente' modifica 'newColumnName' '[First_Name]' la dimensione del tipo è vera CHANGE non è in ms sql? – Penguen

0

Per MySQL la sintassi è:

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

Prova questo per rinominare la colonna è

EXEC sp_RENAME 'table_name.old_Column_name', 'new_Column_name', 'COLUMN' 
Problemi correlati