如何避免在存儲過程中引用表時硬編碼數據庫名稱。例如,有兩個數據庫db1和db2。我正在寫一個db2中的存儲過程,它引用兩個表,一個來自db1,另一個來自db2。兩者都在同一個sybase服務器上。引用表時的數據庫名稱 - Sybase
1
A
回答
4
如果我正確理解你的問題,一方面是,在你的存儲過程,你可以直接按名稱引用表在同一個數據庫
SELECT ...
FROM table_in_db2
您可以通過引用表數據庫db1
前綴數據庫名和一個空的所有者:
SELECT ...
FROM db1..table_in_db1
在另一方面,如果你想避免在程序硬編碼的數據庫名稱可能會在數據庫0123創建一個視圖引用db1
表:
CREATE VIEW view_in_db2
AS
SELECT *
FROM db1..table_in_db1
和使用,在該過程:
SELECT ...
FROM view_in_db2
0
你需要保持代碼的可移植性,包括2個數據庫,但要避免由名引用數據庫。然後,您可以創建代理表(或代理視圖,如果這些視圖存在於12.5中)。有關本地對象,請參閱代理表。
這會行得通,但每次移動/更改數據庫時都需要額外注意。但無論如何,你可以實現的關注點分離。
相關問題
- 1. Sybase iAnywhere.Data.SQLAnywhere.SAException:DSN數據庫名稱不存在
- 2. Sybase:數據庫使用什麼設備名稱?
- 3. 表從數據庫在Sybase
- 4. 具有無效數據庫名稱的java sybase連接
- 5. 如何在.NET中指定ODBC中的SYBASE數據庫名稱
- 6. 列出PostgreSQL數據庫的所有索引名稱,列名稱及其表名
- 7. 如何引用數據表名稱
- 8. 選擇數據庫名稱,表名稱和列名稱。
- 9. 如何找到給定數據庫的Sybase索引列表?
- 10. 數據庫名稱
- 11. 數據庫列的列表名稱
- 12. Sybase臨時表和索引
- 13. 的Sybase ASE 12.5數據庫:
- 14. SQL數據庫連接名稱與數據庫名稱不同
- 15. Mongomapper使用名稱引用數據庫造成的ReferenceError問題
- 16. 從數據庫MongoDB的列表中刪除數據庫名稱
- 17. 數據表:從DOM數據源通過名稱引用列
- 18. Firebase實時數據庫名稱和值
- 19. PHP - 獲取數據庫名稱列表
- 20. Cakephp MySQL數據庫表列名稱
- 21. 通過變量使用數據庫名稱與表名的SQL
- 22. 如何使用「。」引用集合名稱。在Mongo數據庫?
- 23. 在數據庫中列出數據庫和表名稱?
- 24. Sybase嵌入數據庫
- 25. Sybase/hibernate數據庫性能
- 26. Codeigniter Sybase數據庫配置
- 27. SYBASE數據庫DDL語句
- 28. SQL Server 2008在表/視圖名稱前綴數據庫名稱
- 29. 刪除表名稱與數據庫名稱相同
- 30. 數據庫名稱和數據庫中'名稱'參數之間的區別