2009-05-20 9 views
85

Come posso cambiare il nome della tabella utilizzando una dichiarazione di interrogazione?Come modificare il nome di una tabella utilizzando una query SQL?

ho usato la seguente sintassi, ma non riuscivo a trovare la parola chiave di ridenominazione in SQL Server 2005.

Alter table Stu_Table rename to Stu_Table_10 
+0

ALTER TABLE TABLE_NAME Rinomina per NEW_TABLE_NAME funziona solo in Oracle DB. – renu

risposta

167

Uso sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10' 

È possibile trovare la documentazione su questa procedura su MSDN.

Se è necessario includere un nome schema, questo può essere incluso solo nel primo parametro (ovvero, non può essere utilizzato per spostare una tabella da uno schema a un altro). Così, per esempio, questo è valido:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10' 
+2

Si ricorda che per sp_rename è solo il primo parametro che può assumere un nome di schema, il secondo argomento DEVE essere senza il nome dello schema. Come in EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10' –

+0

Il commento di Henrik è piuttosto importante, probabilmente dovrebbe far parte della risposta? Mi ha salvato da qualche mal di testa. – CincinnatiProgrammer

52

In MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10` 
+1

-1 Sintassi non corretta vicino a "rinomina". – Andomar

+8

La domanda riguarda SQL Server, la tua risposta è per MySQL. – Sam

+7

Ha funzionato alla grande con MySQL. –

14

Si prega di utilizzare questo su SQL Server 2005:

sp_rename old_table_name , new_table_name 

vi darà:

Attenzione: la modifica di qualsiasi parte di un nome oggetto potrebbe interrompere gli script e d stored procedure .

ma il nome della tabella verrà modificato.

0
RENAME TABLE old_table_name TO new_table_name; 
0

Syntex per le ultime versioni di MySQL è stato modificato.

Quindi provare il comando RENAME senza SINGOLO PREVENTIVO nei nomi delle tabelle.

RENAME TABLE old_name_of_table TO new_name_of_table;

5

In Postgress SQL:

Alter table student rename to student_details; 
+0

La domanda è chiaramente etichettata SQL-Server! –

0

eseguire questo comando

sp_rename 'Employee','EData' 
Problemi correlati