2009-05-20 15 views
85

Wie kann ich den Tabellennamen mithilfe einer Abfrageanweisung ändern?Wie ändert man einen Tabellennamen mit einer SQL-Abfrage?

habe ich die folgende Syntax, aber ich konnte das Umbenennungs Schlüsselwort in SQL Server 2005.

Alter table Stu_Table rename to Stu_Table_10 
+0

ALTER TABLE TABLE_NAME umbenanntes new_table_name Funktioniert nur in Oracle DB. – renu

Antwort

167

Verwenden sp_rename nicht gefunden:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10' 

Sie Dokumentation zu diesem Verfahren auf MSDN finden.

Wenn Sie einen Schemanamen einschließen müssen, kann dieser nur im ersten Parameter enthalten sein (dh, er kann nicht zum Verschieben einer Tabelle von einem Schema in ein anderes verwendet werden). So zum Beispiel das gilt:

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

Bitte denken Sie daran, dass für sp_rename nur der erste Parameter einen Schema-Namen annehmen kann, das zweite Argument muss ohne den Schema-Namen sein. Wie in EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10' –

+0

Henriks Kommentar ist ziemlich wichtig, sollte dies wahrscheinlich ein Teil der Antwort sein? Rettete mich vor Kopfschmerzen. – CincinnatiProgrammer

52

In MySQL: -

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

-1 Falsche Syntax in der Nähe von "Umbenennen". – Andomar

+8

Die Frage bezieht sich auf SQL Server, Ihre Antwort ist für MySQL. – Sam

+7

Arbeitete großartig mit MySQL. –

14

Bitte verwenden Sie diese auf SQL Server 2005:

sp_rename old_table_name , new_table_name 

es wird Ihnen:

Achtung: Wenn Sie einen Teil eines Objektnamens ändern, können Skripte beschädigt werden d gespeicherte Prozeduren.

, aber Ihr Tabellenname wird geändert.

0
RENAME TABLE old_table_name TO new_table_name; 
0

Syntex für die neuesten MySQL-Versionen wurde geändert.

So versuchen Sie RENAME Befehl ohne einzelne Angebote in Tabellennamen.

RENAME TABLE old_name_of_table TO new_name_of_table;

5

In Postgress SQL:

Alter table student rename to student_details; 
+0

Die Frage ist eindeutig mit SQL-Server markiert! –

0

diesen Befehl ausführen

sp_rename 'Employee','EData' 
Verwandte Themen