2013年6月19日 星期三

使用同義字

SQL Server 提供 Multipart Names 來表示物件,您可以利用下列任何一種方式來存取資料庫物件:

one-part:object_name
two-part:[schema_name].object_name
three-part:[database_name].[schema_name].object_name
fout-part:server_name .[database_name].[schema_name].object_name

若是不想使用這麼長的名字,就可以使用同義字(SYNONYM)來為資料庫物件建立別名。

同義字是具有下列用途的資料庫物件:

  • 對在本機或遠端伺服器上的另一個資料庫物件 (稱為基底物件) 提供別名。
  • 提供抽象層來保護用戶端應用程式,避免變更基底物件的名稱或位置。

範例:

--使用 MultiPart 表示法來查詢TABLE
SELECT * FROM AdventureWorks2012.Production.Product

--定義同義字
CREATE SYNONYM MyProduct
FOR AdventureWorks2012.Production.Product

--使用同義字來查詢TABLE
SELECT * FROM MyProduct

--使用同義字來更新TABLE
UPDATE MyProduct SET Price=35 WHERE ProductID=2

已建立的同義字會列在下圖中。

查詢與刪除同義字:

--查詢同義字
SELECT * FROM sys.synonyms 
--刪除同義字
DROP SYNONYM MyProduct

變更實體物件名稱對同義字的影響

若將上例中的 Product 變更成 Products ,則會導至無效的連結。

沒有留言:

張貼留言