爲什麼要使用同義詞,syNONYMS IN SQL的優點?同義詞IN SQL的優點?
回答
它們只是數據庫內對象的簡寫名稱。例如,如果在名爲ProductionControl.Inventory.Products
的數據庫中有名稱空間的表,則可以創建名爲Products
的同義詞。它們在控制對存儲過程中其他數據庫的命名訪問時也很方便。如果您有SP引用其他數據庫中的表,則創建同義詞並使用它代替了同義詞的目標發生更改時的更多控制。這在您具有引用開發數據庫的SP的情況下非常有用,但在部署到生產時名稱不同。所以你只需更新同義詞就可以了。
請不要成爲這些傻瓜之一,他們只是調用第一個別名'a',下一個'b',下一個'c',然後再次重新開始子查詢。它使它不可讀。 – 2011-03-18 11:34:45
從MSDN Understanding Synonyms
同義詞是一個數據庫對象 有以下用途:
提供了一種替代的名稱爲另一數據庫對象,稱爲 作爲基礎對象,可以在 本地或遠程服務器上存在。
提供了一個抽象層,它保護客戶端應用程序 免受對基礎對象的名稱或 位置所做的更改。
在一些企業系統中,你可能不得不處理過,你有沒有控制遠程對象。例如,由另一個部門或團隊維護的數據庫。
同義詞可以幫助您從SQL代碼中分離底層對象的名稱和位置。這樣,即使您想要的表移動到新的服務器/數據庫或重命名,您也可以對同義詞表進行編碼。
例如,我可以寫一個這樣的查詢:
insert into MyTable
(...)
select ...
from remoteServer.remoteDatabase.dbo.Employee
但隨後如果服務器或數據庫,模式或表更改它會影響我的代碼。相反,我可以創建遠程服務器的代名詞,使用同義詞代替:
insert into MyTable
(...)
select ...
from EmployeeSynonym
如果底層的對象改變位置或名稱,我只需要更新我的代名詞指向新的對象。的
- 1. 使用VIEW的Table或View有沒有同義詞的優點?
- 2. 「IN」謂詞在SQL
- 3. AWS - SQL Server同義詞庫
- 4. SQL Server表的同義詞指數
- 5. 併發執行的SQL Server同義詞
- 6. 帶同義詞的SQL動態查詢
- 7. 名詞同義詞詞網
- 8. SQL的工作難點IN
- 9. Sql Server 2008 - 刪除同義詞
- 10. Crystal Reports 9和Sql Server同義詞?
- 11. Sql Server 2008複製同義詞?
- 12. SQL Server同義詞性能與視圖
- 13. SQL Server - 同義詞提示與技巧?
- 14. MS-SQL 2012序列同義詞
- 15. ApprovalWorkflow的同義詞
- 16. 查找多詞詞組的同義詞
- 17. 同義詞
- 18. ORA-01775:沒有同義詞的同義詞循環鏈接
- 19. 單詞包裝優點/缺點
- 20. IN謂詞如何在SQL中工作?
- 21. SQL查詢優化與NOT IN語句
- 22. 優化Oracle SQL與大「IN」子句
- 23. SQL如何保持同義詞/替代詞
- 24. Rails Postgresql - 同義詞詞典有點不更新
- 25. Oracle同義詞錯誤
- 26. SQL優化不同
- 27. EF查詢-SQL「IN」 - 同表
- 28. 提取單詞的同義詞
- 29. 停用詞和同義詞在Nutch的
- 30. 查找wordnet中單詞的同義詞
可能重複[什麼是SQL Server 2008中使用同義詞?](http://stackoverflow.com/questions/1246006/what-is-the-use-of-synonym-in -sql-server-2008) – FistOfFury 2014-09-29 14:39:54