En SQL
Abfrage, die ich verwendet habe, ist :
ALTER TABLE oldtable RENAME TO newtable;
Aber ich erhalte eine Fehlermeldung.
Server: Msg 156, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe des Schlüsselworts "TO".
En SQL
Abfrage, die ich verwendet habe, ist :
ALTER TABLE oldtable RENAME TO newtable;
Aber ich erhalte eine Fehlermeldung.
Server: Msg 156, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe des Schlüsselworts "TO".
Um eine Tabelle in SQL Server umzubenennen, verwenden Sie die sp_rename
Befehl:
exec sp_rename 'schema.old_table_name', 'new_table_name'
Wenn Sie sp_rename verwenden, das wie in den obigen Antworten funktioniert, prüfen Sie auch, welche Objekte nach der Umbenennung betroffen sind, die auf diese Tabelle verweisen, da Sie auch diese ändern müssen
Ich habe ein Codebeispiel für Tabellenabhängigkeiten in Pinal Daves Blog ici
USE AdventureWorks
GO
SELECT
referencing_schema_name = SCHEMA_NAME(o.SCHEMA_ID),
referencing_object_name = o.name,
referencing_object_type_desc = o.type_desc,
referenced_schema_name,
referenced_object_name = referenced_entity_name,
referenced_object_type_desc = o1.type_desc,
referenced_server_name, referenced_database_name
--,sed.* -- Uncomment for all the columns
FROM
sys.sql_expression_dependencies sed
INNER JOIN
sys.objects o ON sed.referencing_id = o.[object_id]
LEFT OUTER JOIN
sys.objects o1 ON sed.referenced_id = o1.[object_id]
WHERE
referenced_entity_name = 'Customer'
Alle diese abhängigen Objekte müssen also ebenfalls aktualisiert werden
Oder verwenden Sie ein Add-in, wenn Sie können, einige von ihnen haben Funktion, um Objekt umbenennen, und alle abhängigen, ent Objekte auch
Wenn Sie versuchen exec sp_rename
und einen LockMatchID-Fehler erhalten, könnte es helfen, zunächst eine use [database]-Anweisung hinzuzufügen:
Ich habe versucht
exec sp_rename '[database_name].[dbo].[table_name]', 'new_table_name';
-- Invalid EXECUTE statement using object "Object", method "LockMatchID".
Um das Problem zu beheben, musste ich es umschreiben:
use database_name
exec sp_rename '[dbo].[table_name]', 'new_table_name';
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.