gpt4 book ai didi

sql - 跨不同环境查询存储过程中的多个数据库的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-04 00:10:20 25 4
gpt4 key购买 nike

我想知道在存储过程中查询多个数据库的最佳方法是什么。我可以在存储过程中对数据库名称进行硬编码即:

Select *
from [Audit].[dbo].[AuditTable] inner join
[Core].[dbo].[CoreTable]
on ....

但是我想将存储过程存储在一个版本控制系统中,然后将它们迁移到不同的环境中。所以我想知道最好的方法来做到这一点。不同环境的数据库名称不同。

可能的解决方案:

  • 使用 View 跨越不同数据库中的表?数据库名称只会存在于一个地方
  • 数据库的扩展属性/将名称传递到存储的程序。可以动态更改名称存储过程中使用的数据库:Changing database name in astored procedure dynamically但我担心这会很乱
  • 在所有环境中使用相同数据库名称的独立环境环境?

这似乎是以下内容的副本: Cross-database queries with different DB names in different environments

最佳答案

在所有环境中使用相同数据库名称的独立环境似乎是最干净的选择。

但如果这不是一个选项,也许替换变量可能会起作用。用于 Visual Studio 的 SQL Server Data Tools 以这种方式处理它 - 引用的数据库是使用 token 引用的,例如[Audit] 将替换为 [$(Audit)]。然后,当您发布数据库时,您为每个 $variable 定义了一个值,这些值将代替标记。

显然,这需要您有一种机制来进行这些替换。

关于sql - 跨不同环境查询存储过程中的多个数据库的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40741454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com