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.

Zobrazit také

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *