4个数据库,全部在同一实例中,具有相同的表结构。TSQL动态数据库引用
我在“通用”数据库中没有引用特定数据库并使用DB_NAME()
的复杂视图。
我试图从其他数据库运行一个新视图,只是在引用其自己的数据库中的数据的公共数据库中从该视图执行SELECT *
。
我的问题是其他数据库的视图保持公用数据库为当前的DB_NAME()
。
有没有办法解决这个问题?
我的目标是只保留TSQL代码的一个副本,我可以从一个公共位置的所有数据库运行TSQL代码,但访问特定于它所运行的数据库的数据,并使用“常见”数据库中的视图作为模板。
创建[SYNONYMS](https://docs.microsoft.com/en-us/sql/relational-databases/synonyms/create-synonyms)关于 “次要” 数据库referecing从“共同的观点“数据库。 –
['Original_DB_Name()'](https://docs.microsoft.com/zh-cn/sql/t-sql/functions/original-db-name-transact-sql)可能会有帮助,具体取决于您如何处理数据库连接。 – HABO