最近在項目中遇到跨庫操作具有相同表結構的數據表的問題。(A庫中的數據表a和B庫中的數據表b,兩者表結構相同)
跨庫操作中我們一般是為了實現不同數據庫中表字段信息,字段狀態等實時同步,可能很多人會想到使用觸發器或者同步服務的方式,實現兩個庫中數據表的信息實時同步。
最近接觸到了SqlServer自帶的同義詞,體驗感很好,同時同義詞的使用減去了我們同步信息的過程,由SqlServer自動幫你完成。注意:只有SqlServer2005及以后版本才支持同義詞
那好,什么是同義詞?
同義詞:實際就是當前數據庫對象指向另外一個數據庫對象的別名。一般使用於跨數據庫操作的場景。
支持創建同義詞的數據庫對象:數據表,視圖,儲存過程,同義詞等。
語法格式:
創建:
1 CREATE SYNONYM '同義詞名稱' 2 FOR '數據庫'.'表名'; 3 GO
刪除:
1 DROP SYNONYM '同義詞名稱'
創建好同義詞之后,我們即可在數據庫中看到。
同義詞的使用方式和正常操作數據庫對象的方式一樣。
比如:表的同義詞使用方式
1 INSERT INTO aaa(Name) 2 VALUES ('Test'); 3 GO