SQL Server - 在一个表中自动填充字段,其中包含另一个数据库中另一个表的值

时间:2017-05-15 20:56:13

标签: sql-server azure

我有两个Azure SQL Server数据库,其中包含以下示例:

let theNodeYouAreLookingFor = scene.rootNode.childNode(withName: "FooChildBar", recursively: true)

现在,Database Name: DataProp Table Name: DataImports Columns: SearchID, SourceID, Text, Status, Country Database Name: Sources Table Name: SourceInformation Columns: SourceID, SourceTitle, Country 数据库中的Country列全为NULL。我需要使用DataProp数据库中Country字段的值自动填充DataProp中的Country字段。两个表之间的公共字段是Sources。我需要对所有现有数据执行此操作,并将其用于将来的记录。

实现这一目标的最佳方法是什么?一个存储过程设置为按计划运行?如果是这样,我将非常感谢有关T-SQL语法的指导。

作为附注,我查看了计算列的可能性,但这对我们来说不起作用b / c我们在表上维护Azure搜索索引,并且Azure搜索无法索引计算列。

1 个答案:

答案 0 :(得分:1)

我认为您不能直接在两个不同的DB中的表之间编写连接。我们遇到了类似的问题,并决定将所有表移动到单独的模式中的单个数据库中。在您的情况下,我认为您可以编写一个Webjob来从一个表中提取数据并更新第二个表。我还发现了一篇与此相关的文章,但没有亲自尝试过,所以不确定它是否有效。

https://ppolyzos.com/2016/07/30/cross-database-queries-in-azure-sql-databases/