两个数据库之间的数据库更改
Posted
技术标签:
【中文标题】两个数据库之间的数据库更改【英文标题】:Database changes between two databases 【发布时间】:2015-10-05 14:24:11 【问题描述】:我有两个 Microsoft Access 2007 数据库。它们都有非常相似的表,有几列不同,但大部分结构是相同的。
我将其中一个表(表 A)导出到 Excel 并进行过滤,得到行及其键的列表。
我想要做的是更新另一个表(表 B)上键相同的行,我无法使用相同的逻辑进行过滤,因为表 B 没有相同的过滤所需的列方式。
如果行的键与过滤后的表 A 上的键匹配,则表 B 中的某些单元格将被设置为表 A 中的值。
我的想法是将两个表导入 C# 应用程序并以编程方式进行更改,但如果有更简单的方法,可能是基于 SQL 的方法(或使用 Excel 中的某些方法)来根据表更新其中一个表在不同的数据库中,我希望使用它能够更快地完成。
【问题讨论】:
【参考方案1】:您可以在 ms-access 中编写跨数据库 SQL 查询。这是基于文件位置的。解释here
所以你可以对更新查询做同样的事情。
UPDATE
s2006
SET
s2006.col1 = s2007.col1,
s2006.col2 = s2007.col2
FROM
c:\data\Sales2006.Sales s2006
INNER JOIN
c:\data\Sales2007.Sales s2007
ON
s2006.id = s2007.id
在我看来,这听起来像是要避免的情况。
【讨论】:
是的,我决定创建一个临时表以添加到新的 Access 数据库中,这样我就可以针对它编写更新,而不必按文件位置引用另一个数据库。然而更新查询的结构正是我所需要的。 我尝试运行显示的查询,它抛出“查询表达式中的语法错误(缺少运算符)”并突出显示最后一组和 FROM 语句之间的行。 没关系,发现set应该在join之后,更新表时不需要“FROM”。以上是关于两个数据库之间的数据库更改的主要内容,如果未能解决你的问题,请参考以下文章