sp_rename (Transact-SQL) (Magyar)

  • 2020.10.14.
  • 6 perc olvasási idő
    • m
    • c
    • M
    • m
    • r
    • +5

A következőre vonatkozik: SQL Server (az összes támogatott verzió) Azure SQL Database Azure Synapse Analytics

Megváltoztatja a felhasználó által létrehozott objektum nevét az aktuális adatbázisban . Ez az objektum lehet tábla, index, oszlop, álnév adattípus vagy a Microsoft .NET Framework közös nyelvű futásidejű (CLR) felhasználó által definiált típus.

Megjegyzés

Az Azure Synapse Analytics, az sp_rename előnézetben van, és csak egy felhasználói objektum oszlopának átnevezésére használható.

Vigyázat

Az objektum bármely részének módosítása név megszakíthatja a szkripteket és a tárolt eljárásokat. Javasoljuk, hogy ne használja ezt az utasítást a tárolt eljárások, triggerek, felhasználó által definiált függvények vagy nézetek átnevezésére; ehelyett dobja el az objektumot, és hozza létre újra az új névvel.

Transact-SQL szintaxis konvenciók

Szintaxis

érvek

“object_name”
A felhasználói objektum vagy adattípus aktuális minősített vagy nem minősített neve. Ha az átnevezni kívánt objektum egy oszlop egy táblázatban, akkor az object_name-nek a table.column vagy schema.table.column formátumban kell lennie. Ha az átnevezni kívánt objektum index, akkor az object_name-nek a table.index vagy a schema.table.index formában kell lennie. Ha az átnevezni kívánt objektum korlát, az objektumnévnek a schema.constraint formátumban kell lennie.

Idézőjelekre csak akkor van szükség, ha minősített objektum van megadva. Ha teljesen minősített név, beleértve az adatbázis nevét is megadják, az adatbázis nevének meg kell egyeznie az aktuális adatbázis nevével. Az object_name nvarchar (776), alapértelmezés nélkül.

“new_name”
A megadott objektum új neve. Az új_nevnek egyrészes névnek kell lennie, és be kell tartania az azonosítókra vonatkozó szabályokat. Az új név sysname, alapértelmezés nélkül.

Megjegyzés

Az indítónevek nem kezdődhetnek # vagy ## betűvel.

Érték Leírás
OSZLOP Átnevezendő oszlop.
ADATBÁZIS Felhasználó által definiált adatbázis. Erre az objektumtípusra van szükség az adatbázis átnevezéséhez.
INDEX Felhasználó által definiált index. Az index statisztikákkal történő átnevezése szintén automatikusan átnevezi a statisztikákat.
OBJECT A sys.objects programban nyomon követett típusú elem. Például az OBJECT felhasználható objektumok átnevezésére, ideértve a kényszereket (CHECK, FOREIGN KEY, PRIMARY / UNIQUE KEY), felhasználói táblákat és szabályokat.
STATISTICS Az alábbiakra vonatkozik: SQL Server 2012 (11.x) és újabb, valamint az Azure SQL Database.
A felhasználó által kifejezetten létrehozott vagy implicit módon indexszel létrehozott statisztikák. Az index statisztikáinak átnevezése automatikusan átnevezi az indexet is.
USERDATATYPE A CREATE TYPE vagy sp_addtype futtatásával hozzáadott CLR felhasználó által definiált típusok.

“COLUMN” a következőkre vonatkozik: Azure Synapse Analytics
Az sp_rename (előnézet ) az Azure Synapse Analytics számára a COLUMN egy kötelező paraméter, amely meghatározza, hogy az átnevezni kívánt objektumtípus oszlop. Ez egy varchar (13), alapértelmezett érték nélkül, és mindig szerepelnie kell az sp_rename (preview) utasításban. Egy oszlopot csak akkor lehet átnevezni, ha nem terjesztési oszlopról van szó.

Return Code Values

0 (siker) vagy nem nulla szám (hiba)

Megjegyzések

Az SQL Serverre (az összes támogatott verzióra) és az Azure SQL Database
sp_rename automatikusan átnevezi a társított indexet, amikor egy ELSŐDLEGES KULCS vagy EGYEDI korlátozás átnevezésre kerül. Ha az átnevezett index egy PRIMARY KEY megszorításhoz van kötve, a PRIMARY KEY megszorítást az sp_rename automatikusan átnevezi.

SQL Server (minden támogatott verzió) és az Azure SQL Database
sp_rename vonatkozik az elsődleges és a másodlagos XML-indexek átnevezéséhez.

Az SQL Serverre (minden támogatott verzióra) és az Azure SQL Database-re vonatkozik
Tárolt eljárás, függvény, nézet vagy ravaszt átnevezése nem változtatja meg a megfelelő nevét objektumot vagy a sys.sql_modules katalógus nézet definíciós oszlopában, vagy pedig az OBJECT_DEFINITION beépített függvény segítségével szerezzük be. Ezért azt javasoljuk, hogy az sp_rename ne használja ezeket az objektumtípusokat. Ehelyett dobja le és hozza létre újra az objektumot új nevével.

Az SQL Server (minden támogatott verzió), az Azure SQL Database és az Azure Synapse Analytics elemre vonatkozik
Objektum, például tábla vagy oszlop nem nevezi át automatikusan az adott objektumra való hivatkozásokat.Manuálisan módosítania kell az átnevezett objektumra hivatkozó objektumokat. Például, ha átnevez egy táblaoszlopot, és erre az oszlopra hivatkoznak egy eseményindítóban, módosítania kell az eseményindítót, hogy az tükrözze az új oszlopnevet. A sys.sql_expression_dependencies használatával sorolja fel az objektum függőségeit az átnevezés előtt.

Az SQL Server (minden támogatott verzió), az Azure SQL Database és az Azure Synapse Analytics alkalmazásra vonatkozik
Megváltoztathatja az objektum nevét vagy adattípus csak az aktuális adatbázisban. A legtöbb rendszer adattípus és rendszerobjektum nevét nem lehet megváltoztatni.

Engedélyek

Az objektumok, oszlopok és indexek átnevezéséhez ALTER engedély szükséges az objektumon. A felhasználói típusok átnevezéséhez CONTROL engedély szükséges a típushoz. Az adatbázis átnevezéséhez tagság szükséges a sysadmin vagy a dbcreator rögzített kiszolgálói szerepkörökhöz.

Példák

A. Tábla átnevezése

Az alábbi példa átnevezi a SalesTerritory táblát SalesTerr -re a séma.

B. Oszlop átnevezése

A következő példa átnevezi a TerritoryID oszlopot a SalesTerritory táblában TerrID.

C. Index átnevezése

Az alábbi példa átnevezi a IX_ProductVendor_VendorID indexet IX_VendorID -re.

D . Álnév adattípus átnevezése

Az alábbi példa átnevezi az Phone álnevet Telephone.

E. Korlátozások átnevezése

Az alábbi példák átnevezik az ELSŐDLEGES KULCS, az ELLENŐRZÉS és a KÜLFÖLDKULCS korlátozásokat. Egy kényszer átnevezésekor meg kell adni azt a sémát, amelyhez a megszorítás tartozik.

F. Statisztikák átnevezése

A következő példa létrehoz egy contactMail1 nevű statisztikai objektumot, majd az sp_rename használatával átnevezi a statisztikát NewContact-ra. A statisztikák átnevezésekor az objektumot meg kell adni a schema.table.statistics_name formátumban.

Példák: Azure Synapse Analytics

G. Oszlop átnevezése

A következő példa átnevezi a c1 oszlopot a table1 táblázatban col1.

Lásd még

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük