2024年7月17日 星期三

[MSSQL] - SYNONYM 簡化查詢

 假設

正式機的資料庫為「WORK」

測試機的資料庫為「WORK_TEST」

在撰寫語法的時候,寫的又是

SELECT * FROM WORK.dbo.employee 

這樣在測試機就不能執行



SYNONYM 是 SQL Server 中的一種對象,允許你為另一個資料庫對象(如表、視圖、儲存過程或函數)創建一個別名。其主要作用包括:

  1. 簡化查詢:允許你使用簡單的名稱來訪問可能具有長路徑或複雜名稱的對象。
  2. 跨資料庫訪問:方便在同一個 SQL 語句中訪問不同資料庫甚至不同伺服器上的對象。
  3. 提高靈活性:如果底層對象的位置或名稱改變,只需更新 SYNONYM,而不需要更改所有引用該對象的 SQL 語句。


這時可以再測試區創建 synonym,將 work.dbo.employee 指向 work_test.dbo.employee

CREATE SYNONYM work.dbo.employee FOR work_test.dbo.employee;


這樣,你可以繼續使用 SELECT * FROM work.dbo.employee,實際上它會查詢 work_test.dbo.employee 表中的數據。


查詢已建立的 SYNONYM

SELECT name AS SynonymName, OBJECT_SCHEMA_NAME(object_id) AS SchemaName, base_object_name AS BaseObjectName FROM sys.synonyms;


刪除 synonym複製程式碼

DROP SYNONYM RemoteEmployee;

查看已刪除的 SYNONYM


SELECT name AS SynonymName, OBJECT_SCHEMA_NAME(object_id) AS SchemaName, base_object_name AS BaseObjectName FROM sys.synonyms;

沒有留言:

張貼留言