【发布时间】:2021-10-14 08:53:52
【问题描述】:
我在 SQL Server 中有一个包含许多列的表,并且我已将部分数据移至 MySQL。我在 SQL Server 中的表上创建了一个视图或函数,这两个数据库必须每天通过作业同步一次。因为这个视图的数据可能每天都在变化。
视图返回一个包含 3 列的表:(char、varchar、varchar)它们都不是唯一键或主键。
我的解决办法是:
- 创建工作
- 在 SQL Server 上执行视图
- 返回视图结果
- 在 MySQL 中创建 3 列的临时表
- 将结果视图从 SQL Server 移动到临时表
- 如果之前不存在,则将临时表中的记录一一移动到新表中
- 删除临时表
要在不使用临时表的情况下进行传输,我想使用以下类型的查询,但找不到正确的查询。这就是我使用临时表的原因:
insert into new_table
values (array of records) where record if not exist in new table.
对于我上面提到的解决方案,我使用了以下查询:
insert into new_table
select *
from temp_table
where not exist new_table.column = temp_table.column
您有更好的建议,即可以获取新记录并将其添加到以前的记录中吗?
【问题讨论】:
标签: mysql sql-server