CREATE SYNONYM (Transact-SQL)
Tworzy nowy synonim.
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
}
Argumenty
schema_name_1
Określa, w którym tworzony jest synonimem schematu.Jeśli schema nie określono, SQL Server korzysta z domyślnego schematu z bieżącego użytkownika.synonym_name
Jest nazwą nowego synonim.server_name
Jest nazwą serwera, na którym obiekt bazowy znajduje się.database_name
Jest nazwą bazy danych, w którym znajduje się obiekt bazowy.Jeśli database_name nie zostanie określona, używana jest nazwa bieżącej bazy danych.schema_name_2
Jest to nazwa schematu obiekt bazowy.Jeśli schema_name nie jest określony, używany jest domyślny schemat bieżącego użytkownika.object_name
Jest nazwą podstawowego obiektu, do którego odwołuje się synonimem.
Remarks
The base object need not exist at synonym create time.SQL Server checks for the existence of the base object at run time.
Synonimy mogą być tworzone dla następujących typów obiektów:
Procedura przechowywana wirtualny plik dziennika (CLR) |
wirtualny plik dziennika (CLR) funkcja zwracająca tabelę |
Funkcja wartość skalarna wirtualny plik dziennika (CLR) |
Funkcje agregujące wirtualny plik dziennika sumaryczne (CLR) |
Procedurę filtrowania replikacja |
rozszerzona procedura składowana |
Funkcja skalarne SQL |
SQL funkcja zwracająca tabelę |
Wycenione tabela wbudowana funkcja SQL |
Procedura przechowywana SQL |
Bez opuszczania środowiska, można zarządzać sieci fizycznej i łatwo zespołów projektów. |
Tabela1 (Zdefiniowane przez użytkownika) |
1 Zawiera lokalne i globalne tabele tymczasowe
Four-Part nazwy dla obiektów podstawowych funkcja nie są obsługiwane.
Synonimy mogą być tworzone, odrzucone i odwołuje się do dynamicznych instrukcji SQL.
Uprawnienia
Aby utworzyć synonim w dany schemat, użytkownik musi mieć uprawnienie CREATE SYNONYM i albo własny schemat lub mieć uprawnienia ALTER SCHEMA.
Uprawnienie CREATE SYNONYM jest grantable uprawnień.
Uwaga
Nie ma potrzeby uprawnienia dla obiekt bazowy pomyślnie skompilować instrukcja CREATE SYNONYM, ponieważ wszystkie uprawnienia kontroli obiekt bazowy jest przesunięty do czas wykonywania.
Przykłady
A.Tworzenie synonimem obiektu lokalnego
W poniższym przykładzie najpierw tworzy synonim dla obiekt bazowy Product w AdventureWorks bazy danych, a następnie wykonuje kwerendę dotyczącą synonimem.
USE tempdb;
GO
-- Create a synonym for the Product table in AdventureWorks.
CREATE SYNONYM MyProduct
FOR AdventureWorks.Production.Product;
GO
-- Query the Product table by using the synonym.
USE tempdb;
GO
SELECT ProductID, Name
FROM MyProduct
WHERE ProductID < 5;
GO
Here is the result set.
-----------------------
Nazwa IDProduktu
----------- --------------------------
1 Regulowane rasę
2 Kulowy znaczenie
3 Mając kulowy BB
4 Łożyska kulki słuchawki
(dotyczy wiersze 4)
B.Tworzenie synonim do obiektu zdalnego
W poniższym przykładzie obiekt bazowy Contact, znajduje się na serwerze zdalnym o nazwie Server_Remote.
EXEC sp_addlinkedserver Server_Remote;
GO
USE tempdb;
GO
CREATE SYNONYM MyEmployee FOR Server_Remote.AdventureWorks.HumanResources.Employee;
GO
C.Tworzenie synonim dla funkcja zdefiniowanej przez użytkownika
Poniższy przykład tworzy funkcja o nazwie dbo.OrderDozen kwoty zamówień jednostkom nawet dozen, wzrasta. W przykładzie tworzy synonimem dbo.CorrectOrder dla dbo.OrderDozen Funkcja.
-- 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
See Also