sp_rename (Transact-SQL) (Deutsch)

  • 14.10.2020
  • 6 Minuten zum Lesen
    • m
    • c
    • M
    • m
    • r
    • +5

Gilt für: SQL Server (alle unterstützten Versionen) Azure SQL-Datenbank Azure Synapse Analytics

Ändert den Namen eines vom Benutzer erstellten Objekts in der aktuellen Datenbank . Dieses Objekt kann eine Tabelle, ein Index, eine Spalte, ein Alias-Datentyp oder ein benutzerdefinierter Typ für die Common Language Runtime (CLR) von Microsoft .NET Framework sein.

Hinweis

In Azure Synapse Analytics, sp_rename befindet sich in der Vorschau und kann nur zum Umbenennen einer SPALTE in einem Benutzerobjekt verwendet werden.

Achtung

Ändern eines Teils eines Objekts Name kann Skripte und gespeicherte Prozeduren beschädigen. Wir empfehlen, diese Anweisung nicht zum Umbenennen gespeicherter Prozeduren, Trigger, benutzerdefinierter Funktionen oder Ansichten zu verwenden. Löschen Sie stattdessen das Objekt und erstellen Sie es unter dem neuen Namen neu.

Transact-SQL-Syntaxkonventionen

Syntax

Argumente

„Objektname“
Ist der aktuelle qualifizierte oder nicht qualifizierte Name des Benutzerobjekts oder Datentyps. Wenn das umzubenennende Objekt eine Spalte in einer Tabelle ist, muss Objektname in der Form table.column oder schema.table.column vorliegen. Wenn das umzubenennende Objekt ein Index ist, muss der Objektname in der Form table.index oder schema.table.index vorliegen. Wenn das umzubenennende Objekt eine Einschränkung ist, muss der Objektname die Form schema.constraint haben.

Anführungszeichen sind nur erforderlich, wenn ein qualifiziertes Objekt angegeben ist. Wenn ein vollständig qualifizierter Name einschließlich eines Datenbanknamens angegeben wird, muss der Datenbankname der Name der aktuellen Datenbank sein. Objektname ist nvarchar (776) ohne Standard.

„neuer_name“
Ist der neue Name für das angegebene Objekt. new_name muss ein einteiliger Name sein und den Regeln für Bezeichner entsprechen. newname ist sysname ohne Standard.

Hinweis

Triggernamen dürfen nicht mit # oder ## beginnen.

Wert Beschreibung
SPALTE Eine umzubenennende Spalte.
DATENBANK Eine benutzerdefinierte Datenbank. Dieser Objekttyp ist beim Umbenennen einer Datenbank erforderlich.
INDEX Ein benutzerdefinierter Index. Wenn Sie einen Index mit Statistiken umbenennen, werden die Statistiken auch automatisch umbenannt.
OBJECT Ein Element eines Typs, der in sys.objects verfolgt wird. Mit OBJECT können beispielsweise Objekte umbenannt werden, einschließlich Einschränkungen (CHECK, FOREIGN KEY, PRIMARY / UNIQUE KEY), Benutzertabellen und Regeln.
STATISTICS Gilt für: SQL Server 2012 (11.x) und höher und Azure SQL-Datenbank.
Statistiken, die explizit von einem Benutzer erstellt oder implizit mit einem Index erstellt wurden. Durch das Umbenennen der Statistik eines Index wird auch der Index automatisch umbenannt.
USERDATATYPE Benutzerdefinierte CLR-Typen, die durch Ausführen von CREATE TYPE oder sp_addtype hinzugefügt wurden.

„COLUMN“ Gilt für: Azure Synapse Analytics
In sp_rename (Vorschau) ) Für Azure Synapse Analytics ist COLUMN ein obligatorischer Parameter, der angibt, dass der umzubenennende Objekttyp eine Spalte ist. Es ist ein varchar (13) ohne Standardwert und muss immer in der Anweisung sp_rename (Vorschau) enthalten sein. Eine Spalte kann nur umbenannt werden, wenn es sich um eine Nichtverteilungsspalte handelt.

Rückkehrcodewerte

0 (Erfolg) oder eine Zahl ungleich Null (Fehler)

Hinweise

Gilt für SQL Server (alle unterstützten Versionen) und Azure SQL-Datenbank.
sp_rename benennt den zugehörigen Index automatisch um, wenn eine PRIMARY KEY- oder UNIQUE-Einschränkung umbenannt wird. Wenn ein umbenannter Index an eine PRIMARY KEY-Einschränkung gebunden ist, wird die PRIMARY KEY-Einschränkung auch automatisch durch sp_rename umbenannt.

Gilt für SQL Server (alle unterstützten Versionen) und Azure SQL-Datenbank
sp_rename kann verwendet werden Umbenennen von primären und sekundären XML-Indizes.

Gilt für SQL Server (alle unterstützten Versionen) und Azure SQL-Datenbank.
Durch Umbenennen einer gespeicherten Prozedur, Funktion, Ansicht oder eines Triggers wird der Name der entsprechenden nicht geändert Objekt entweder in der Definitionsspalte der Katalogansicht sys.sql_modules oder mit der integrierten Funktion OBJECT_DEFINITION abgerufen. Daher empfehlen wir, sp_rename nicht zum Umbenennen dieser Objekttypen zu verwenden. Löschen Sie stattdessen das Objekt und erstellen Sie es mit seinem neuen Namen neu.

Gilt für SQL Server (alle unterstützten Versionen), Azure SQL-Datenbank und Azure Synapse Analytics.
Umbenennen eines Objekts wie einer Tabelle oder Die Spalte benennt Verweise auf dieses Objekt nicht automatisch um.Sie müssen alle Objekte, die auf das umbenannte Objekt verweisen, manuell ändern. Wenn Sie beispielsweise eine Tabellenspalte umbenennen und auf diese Spalte in einem Trigger verwiesen wird, müssen Sie den Trigger so ändern, dass er den neuen Spaltennamen widerspiegelt. Verwenden Sie sys.sql_expression_dependencies, um Abhängigkeiten zum Objekt aufzulisten, bevor Sie es umbenennen.

Gilt für SQL Server (alle unterstützten Versionen), Azure SQL-Datenbank und Azure Synapse Analytics.
Sie können den Namen eines Objekts ändern oder Datentyp nur in der aktuellen Datenbank. Die Namen der meisten Systemdatentypen und Systemobjekte können nicht geändert werden.

Berechtigungen

Zum Umbenennen von Objekten, Spalten und Indizes ist die ALTER-Berechtigung für das Objekt erforderlich. Zum Umbenennen von Benutzertypen ist die Berechtigung CONTROL für den Typ erforderlich. Zum Umbenennen einer Datenbank ist eine Mitgliedschaft in den festen Serverrollen sysadmin oder dbcreator erforderlich.

Beispiele

A. Umbenennen einer Tabelle

Im folgenden Beispiel wird die Tabelle SalesTerritory in SalesTerr in Schema.

B. Umbenennen einer Spalte

Im folgenden Beispiel wird die Spalte TerritoryID in der Tabelle SalesTerritory in .

C. Umbenennen eines Index

Im folgenden Beispiel wird der Index IX_ProductVendor_VendorID in IX_VendorID umbenannt.

D. . Umbenennen eines Alias-Datentyps

Im folgenden Beispiel wird der Alias-Datentyp Phone in Telephone umbenannt.

E. Umbenennen von Einschränkungen

In den folgenden Beispielen werden eine PRIMARY KEY-Einschränkung, eine CHECK-Einschränkung und eine FOREIGN KEY-Einschränkung umbenannt. Beim Umbenennen einer Einschränkung muss das Schema angegeben werden, zu dem die Einschränkung gehört.

F. Umbenennen von Statistiken

Im folgenden Beispiel wird ein Statistikobjekt mit dem Namen contactMail1 erstellt und anschließend die Statistik mithilfe von sp_rename in NewContact umbenannt. Beim Umbenennen von Statistiken muss das Objekt im Format schema.table.statistics_name angegeben werden.

Beispiele: Azure Synapse Analytics

G. Umbenennen einer Spalte

Im folgenden Beispiel wird die Spalte c1 in der Tabelle table1 in .

Siehe auch

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.