Eşanlamlı (veritabanı altyapısı) kullanma
Eşanlamlı birkaç sql deyimleri ve ifade içerikleri kendilerine başvurulan temel nesne yerine kullanabilirsiniz.Aşağıdaki tablo bu ifadeleri ve ifade ortamlarý listesini içerir:
SEÇİN |
EKLE |
GÜNCELLEŞTİRME |
SİL |
YÜRÜTME |
Sub-selects |
Yukarıda belirtildiği bağlamlarda eşanlamlı ile çalışırken, temel nesne etkilenir.Örneğin, bir tablo olan bir temel nesne veri türünün eşanlamlısı başvurur ve eş bir satır ekleme, aslında başvurulan tabloya bir satır ekliyorsunuz.
Not
bağlantılı sunucu üzerinde bulunan bir Eşanlamlı başvuru yapamazsınız.
Veri türünün eşanlamlısı OBJECT_ID işlev için parametre olarak kullanabilirsiniz; Ancak, işlev eşanlamlı temel nesne nesne kimliği döndürür.
ddl deyim içinde bir Eşanlamlı başvuru yapamazsınız.Adlı bir Eşanlamlı başvuran Örneğin, aşağıdaki ifadeler, dbo.MyProduct, hatalara neden:
ALTER TABLE dbo.MyProduct
ADD NewFlag int null;
EXEC ('ALTER TABLE dbo.MyProduct
ADD NewFlag int null');
Aşağıdaki izni deyimleri yalnızca eşanlamlı ve temel nesne ile ilişkili:
GRANT |
İZİN VERME |
İPTAL ETME |
|
Eşanlamlıları şemaya bağlı değildir ve bu nedenle, aşağıdaki ifade şemaya bağlı bağlamları tarafından başvurulamaz:
DENETLEME kısıtlamaları |
Hesaplanan sütunlar |
Varsayılan ifadeler |
Kural ifadeler |
Şemaya bağlı görünümler |
Şemaya bağlı işlevleri |
Şemaya bağlı işlevleri hakkında daha fazla bilgi için bkz: Kullanıcı tanımlı işlevler (veritabanı altyapısı) oluşturma.
Örnekler
Aşağıdaki örnek, sonraki örneklerde kullanılacak veri türünün eşanlamlısı oluşturur.
USE tempdb;
GO
CREATE SYNONYM MyAddressType
FOR AdventureWorks2008R2.Person.AddressType;
GO
Aşağıdaki örnek bir satıra ekler temel tablo tarafından başvurulan MyAddressType eş anlamlı.
USE tempdb;
GO
INSERT INTO MyAddressType (Name)
VALUES ('Test');
GO
Aşağıdaki örnek, nasıl veri türünün eşanlamlısı dinamik SQL'de başvurulabilir gösterir.
USE tempdb;
GO
EXECUTE ('SELECT Name FROM MyAddressType');
GO
Ayrıca bkz.