我有2个数据库,结构相同但数据不同, 我试图将源数据库中的数据插入到目标数据库中,但只有当数据不存在于目标中时(如果存在,我更新它,它已经在工作)。
这就是我现在所做的:
INSERT INTO table
SELECT * FROM table@source
WHERE NOT EXISTS (
SELECT *
FROM table@source ts
WHERE ts.ID=table.ID AND ts.ID2=table.ID2
)
但它不起作用......
有人能帮助我吗?
例如我希望我的要求:
Target :
ID-ID2-NUM
01-001-100 -> updated
02-002-200 -> deleted
04-004-400 -> deleted
Source :
ID-ID2-NUM
01-001-111 -> used to update Target
02-001-020 -> added in Target
03-003-300 -> added in Target
更新和删除部分已经正常工作。 所有我遇到麻烦的是添加线部分。
答案 0 :(得分:1)
好的,最后我发现了我的错误:
INSERT INTO table
SELECT * FROM table@source
WHERE NOT EXISTS (
SELECT *
FROM table tt
WHERE tt.ID=table.ID@source AND tt.ID2=table.ID2@source
)