Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Új szinonimát hoz létre.
Transact-SQL szintaxis konvenciók
Szemantika
SQL Server szintaxisa:
CREATE SYNONYM [ schema_name_1. ] synonym_name FOR <object>
<object> ::=
{
[
server_name. [ database_name ] . [ schema_name_2 ] .
| database_name. [ schema_name_2 ] .
| schema_name_2.
]
object_name
}
Azure SQL Database és SQL database in Microsoft Fabric syntax:
CREATE SYNONYM [ schema_name_1. ] synonym_name FOR <object>
<object> ::=
{
[ database_name. [ schema_name_2 ] . | schema_name_2. ] object_name
}
Arguments
schema_name_1
Megadja azt a sémát, amelyben a szinonima létrejön. Ha nincs megadva schema_name, az SQL Server az aktuális felhasználó alapértelmezett sémáját használja.
synonym_name
Az új szinonima neve.
server_name
Annak a kiszolgálónak a neve, amelyen az alapobjektum található.
database_name
Annak az adatbázisnak a neve, amelyben az alapobjektum található. Ha nincs megadva database_name, a rendszer az aktuális adatbázis nevét használja.
schema_name_2
Az alapobjektum sémájának neve. Ha nincs megadva schema_name , a rendszer az aktuális felhasználó alapértelmezett sémáját használja.
object_name
Annak az alapobjektumnak a neve, amelyekre a szinonimák hivatkoznak.
Megjegyzés:
Az Azure SQL Database és SQL adatbázis a Microsoft Fabric-ben támogatja a háromrészes névformátumot database_name.[schema_name].object_name , ha a database_name a jelenlegi adatbázis, vagy a database_nametempdb az, és a object_name a következő név #kezdődik.
Megjegyzések
Az alapobjektumnak nem kell szinonimák létrehozásakor léteznie. Az SQL Server futásidőben ellenőrzi az alapobjektum meglétét.
Szinonimák a következő típusú objektumokhoz hozhatók létre:
- Szerelvény (CLR) tárolt eljárása
- Szerelvény (CLR) táblaértékes függvény
- Assembly (CLR) skaláris függvény
- Assembly (CLR) aggregátumfüggvények
- Replikációs szűrési eljárás
- Kiterjesztett tárolt eljárás
- T-SQL skaláris függvény
- T-SQL táblaértékes függvény
- T-SQL inline-table-valued függvény
- T-SQL tárolt eljárás
- Tábla (felhasználó által definiált, helyi és globális ideiglenes táblákat tartalmaz)
- View
A függvénybázis-objektumok négyrészes nevei nem támogatottak.
Szinonimák hozhatók létre, elvethetők és hivatkozhatók dinamikus T-SQL-ben.
A szinonimák adatbázis-specifikusak, és más adatbázisok nem érhetők el.
Permissions
Ha szinonimát szeretne létrehozni egy adott sémában, a felhasználónak engedéllyel kell rendelkeznie CREATE SYNONYM , és rendelkeznie kell a sémával, vagy rendelkeznie kell ALTER SCHEMA engedéllyel.
Az CREATE SYNONYM engedély egy adható engedély.
Megjegyzés:
Az utasítás sikeres fordításához CREATE SYNONYM nincs szükség az alapobjektum engedélyére, mert az alapobjektum összes engedélyellenőrzése a futtatás időpontjáig halasztva lesz.
Példák
A. Szinonima létrehozása helyi objektumhoz
Az alábbi példa először létrehoz egy szinonimát az alapobjektumhoz az Product adatbázisban, AdventureWorks2025 majd lekérdezi a szinonimát.
-- Create a synonym for the Product table in AdventureWorks2022.
CREATE SYNONYM MyProduct
FOR AdventureWorks2022.Production.Product;
GO
-- Query the Product table by using the synonym.
SELECT ProductID, Name
FROM MyProduct
WHERE ProductID < 5;
GO
Itt van az eredmények összessége.
ProductID Name
----------- --------------------------
1 Adjustable Race
2 Bearing Ball
3 BB Ball Bearing
4 Headset Ball Bearings
(4 row(s) affected)
B. Szinonima létrehozása távoli objektumhoz
Az alábbi példában az alapobjektum Contactegy távoli kiszolgálón Server_Remotetalálható.
EXEC sp_addlinkedserver Server_Remote;
GO
USE tempdb;
GO
CREATE SYNONYM MyEmployee FOR Server_Remote.AdventureWorks2022.HumanResources.Employee;
GO
C. Szinonima létrehozása felhasználó által definiált függvényhez
Az alábbi példa egy olyan függvényt hoz létre, dbo.OrderDozen amely 12 egységre növeli a rendelési mennyiségeket. A példa ezután létrehozza a függvény szinonimát dbo.CorrectOrderdbo.OrderDozen .
-- Creating the dbo.OrderDozen function
CREATE FUNCTION dbo.OrderDozen (@OrderAmt INT)
RETURNS INT
WITH EXECUTE AS CALLER
AS
BEGIN
IF @OrderAmt % 12 <> 0
BEGIN
SET @OrderAmt += 12 - (@OrderAmt % 12)
END
RETURN (@OrderAmt);
END;
GO
-- Using the dbo.OrderDozen function
DECLARE @Amt INT;
SET @Amt = 15;
SELECT @Amt AS OriginalOrder,
dbo.OrderDozen(@Amt) AS ModifiedOrder;
-- Create a synonym dbo.CorrectOrder for the dbo.OrderDozen function.
CREATE SYNONYM dbo.CorrectOrder
FOR dbo.OrderDozen;
GO
-- Using the dbo.CorrectOrder synonym.
DECLARE @Amt INT;
SET @Amt = 15;
SELECT
@Amt AS OriginalOrder,
dbo.CorrectOrder(@Amt) AS ModifiedOrder;
Kapcsolódó tartalom
- DROP SZINONIMÁK (Transact-SQL)
- ESEMÉNYADATOK (Transact-SQL)
- TÁMOGATÁS (Transact-SQL)
- Szinonimák (adatbázismotor)