利用同義字縮短資料庫物件的名稱

本文將介紹利用同義字縮短資料庫物件的名稱。

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

  1. server_name .[database_name].[schema_name].object_name
  2. database_name.[schema_name].object_name
  3. schema_name.object_name
  4. object_name

若是您想要以上述的第1至第3種命名方式來存取資料庫物件,又懶得打這麼長的名稱以及減少輸入錯誤的情況,可以透過建立同義字(SYNONYM)來為資料庫物件建立別名,同義字可以建立在下列幾種物件:

  1. 組件 (CLR) 預存程序
  2. 組件 (CLR) 資料表值函數
  3. 組件 (CLR) 純量函數
  4. 組件彙總 (CLR) 彙總函數
  5. 複寫篩選程序
  6. 擴充預存程序
  7. SQL 純量函數
  8. SQL 資料表值函數
  9. SQL 嵌入資料表值函數
  10. SQL 預存程序
  11. 檢視表
  12. 使用者自訂資料表

 

  • 以下程式碼示範為 Northwind 的 Region 資料表建立同義字:
   1:  --建立Table的同義字
   2:  CREATE SYNONYM MyRegion
   3:  FOR Northwind.dbo.Region
   4:  GO
   5:  --使用同義字來查詢TABLE
   6:  SELECT *
   7:  FROM MyRegion
   8:  GO

 

  • 以下程式碼示範利用動態 SQL 建立同義字,您也可以使用一般的 T-SQL 敘述建立同義字,並非一定得使用動態 SQL 。
   1:  --利用動態SQL建立同義字
   2:  EXEC ('CREATE SYNONYM MyView FOR dbo.v_region')
   3:  --使用同義字來查詢View
   4:  SELECT *
   5:  FROM MyView

 

【參考資料】