sp_rename (Transact-SQL) (Čeština)
- 10/14/2020
- 6 minut na čtení
-
- m
- c
- M
- m
- r
-
+5
Platí pro: SQL Server (všechny podporované verze) Azure SQL Database Azure Synapse Analytics
Změní název objektu vytvořeného uživatelem v aktuální databázi . Tento objekt může být tabulka, index, sloupec, alias datový typ nebo uživatelsky definovaný typ Microsoft .NET Framework common language runtime (CLR).
Poznámka
V Azure Synapse Analytics, sp_rename je v náhledu a lze jej použít pouze k přejmenování COLUMN v objektu uživatele.
Upozornění
Změna libovolné části objektu name může rozbít skripty a uložené procedury. Doporučujeme, abyste toto prohlášení nepoužívali k přejmenování uložených procedur, spouštěčů, uživatelem definovaných funkcí nebo zobrazení; místo toho objekt pusťte a znovu jej vytvořte s novým názvem.
Konvence syntaxe jazyka Transact-SQL
Syntaxe
Argumenty
„název_objektu“
Je aktuální kvalifikovaný nebo nekvalifikovaný název uživatelského objektu nebo datového typu. Pokud je objekt, který má být přejmenován, sloupcem v tabulce, musí být název_objektu ve formuláři table.column nebo schema.table.column. Pokud je přejmenovaným objektem index, musí být název_objektu ve formuláři table.index nebo schema.table.index. Pokud je objekt, který má být přejmenován, omezen, musí mít název_objektu tvar schema.constraint.
Uvozovky jsou nutné pouze v případě, že je zadán kvalifikovaný objekt. Pokud je zadán plně kvalifikovaný název, včetně názvu databáze, musí být názvem databáze název aktuální databáze. název_objektu je nvarchar (776), bez výchozího nastavení.
„new_name“
Je nový název pro zadaný objekt. new_name musí být jednodílný název a musí se řídit pravidly pro identifikátory. nové jméno je sysname, bez výchozího nastavení.
Poznámka
Názvy spouštěčů nesmí začínat # nebo ##.
Hodnota | Popis |
---|---|
COLUMN | Sloupec, který se má přejmenovat. |
DATABASE | Uživatelem definovaná databáze. Tento typ objektu je vyžadován při přejmenování databáze. |
INDEX | Uživatelsky definovaný index. Přejmenování indexu se statistikami také automaticky přejmenuje statistiku. |
OBJECT | Položka typu sledovaná v sys.objects. Například OBJECT lze použít k přejmenování objektů včetně omezení (KONTROLA, ZAHRANIČNÍ KLÍČ, PRIMÁRNÍ / JEDINEČNÝ KLÍČ), uživatelských tabulek a pravidel. |
STATISTIKA | Platí pro: SQL Server 2012 (11.x) a novější a Azure SQL Database. Statistiky vytvořené explicitně uživatelem nebo vytvořené implicitně s indexem. Přejmenování statistik indexu také automaticky přejmenuje index. |
USERDATATYPE | Typy CLR definované uživatelem přidané spuštěním CREATE TYPE nebo sp_addtype. |
„COLUMN“ Platí pro: Azure Synapse Analytics
V sp_rename (náhled ) pro Azure Synapse Analytics, COLUMN je povinný parametr určující, že typ objektu, který má být přejmenován, je sloupec. Je to varchar (13) bez výchozí hodnoty a musí být vždy zahrnut do příkazu sp_rename (náhled). Sloupec lze přejmenovat, pouze pokud jde o nedistribuční sloupec.
Hodnoty návratového kódu
0 (úspěch) nebo nenulové číslo (chyba)
Poznámky
Platí pro SQL Server (všechny podporované verze) a Azure SQL Database
sp_rename automaticky přejmenuje přidružený index, kdykoli se přejmenuje omezení PRIMARY KEY nebo UNIQUE. Pokud je přejmenovaný index svázán s omezením PRIMARY KEY, omezení PRIMARY KEY se také automaticky přejmenuje sp_rename.
Platí pro SQL Server (všechny podporované verze) a Azure SQL Database
lze použít sp_rename k přejmenování primárních a sekundárních indexů XML.
Platí pro SQL Server (všechny podporované verze) a Azure SQL Database
Přejmenování uložené procedury, funkce, zobrazení nebo spouštěče nezmění název odpovídajícího objekt buď ve sloupci definice v zobrazení katalogu sys.sql_modules, nebo získaný pomocí vestavěné funkce OBJECT_DEFINITION. Proto doporučujeme, aby sp_rename nebylo použito k přejmenování těchto typů objektů. Místo toho přetáhněte a znovu vytvořte objekt s novým názvem.
Platí pro SQL Server (všechny podporované verze), Azure SQL Database a Azure Synapse Analytics
Přejmenování objektu, jako je tabulka nebo sloupec nebude automaticky přejmenovávat odkazy na tento objekt.Musíte upravit všechny objekty, které odkazují na přejmenovaný objekt ručně. Například pokud přejmenujete sloupec tabulky a na tento sloupec se odkazuje ve spouštěči, musíte upravit spouštěč tak, aby odrážel nový název sloupce. Použijte sys.sql_expression_dependencies k vypsání závislostí na objektu před jeho přejmenováním.
Platí pro SQL Server (všechny podporované verze), Azure SQL Database a Azure Synapse Analytics
Můžete změnit název objektu nebo datový typ pouze v aktuální databázi. Názvy většiny systémových datových typů a systémových objektů nelze změnit.
Oprávnění
Chcete-li přejmenovat objekty, sloupce a indexy, vyžaduje u objektu oprávnění ALTER. Chcete-li přejmenovat typy uživatelů, vyžaduje oprávnění KONTROLA na typu. Chcete-li přejmenovat databázi, vyžaduje se členství v pevných rolích serveru sysadmin nebo dbcreator.
Příklady
A. Přejmenování tabulky
Následující příklad přejmenuje tabulku SalesTerritory
na SalesTerr
v Sales
schéma.
B. Přejmenování sloupce
Následující příklad přejmenuje sloupec TerritoryID
v tabulce SalesTerritory
na TerrID
.
C. Přejmenování indexu
Následující příklad přejmenuje index IX_ProductVendor_VendorID
na IX_VendorID
.
D . Přejmenování aliasového datového typu
Následující příklad přejmenuje alias datový typ Phone
na Telephone
.
E. Přejmenování omezení
Následující příklady přejmenují omezení PRIMARY KEY, omezení CHECK a omezení FOREIGN KEY. Při přejmenování omezení musí být specifikováno schéma, ke kterému omezení patří.
F. Přejmenování statistik
Následující příklad vytvoří statistický objekt s názvem contactMail1 a poté přejmenuje statistiku na NewContact pomocí sp_rename. Při přejmenování statistik musí být objekt zadán ve formátu schema.table.statistics_name.
Příklady: Azure Synapse Analytics
G. Přejmenování sloupce
Následující příklad přejmenuje sloupec c1
v tabulce table1
na col1
.