У меня есть 3 таблицы:
- Server_db_relation
- DatabaseList
- DatabaseList_Archive
Цель состоит в том, чтобы сравнить таблицу Server_db_relation
и DatabaseList
на основе значений в столбце ServerName
и DatabaseName
. Если значения не существуют в таблице Server_db_relation
, но существуют в DatabaseList
, то он должен вставить всю строку из DatabaseList
в DataList_Archive
(эти две таблицы идентичны по структуре).
Кроме того, если возможно, строка была вставлена в DatabaseList_Archive
, затем удалите запись из DatabaseList
.
INSERT INTO DatabaseList_Archieve (Column1, Column2...)
SELECT *
FROM DatabaseList
WHERE NOT EXISTS (SELECT 1
FROM DabaseList, Server_db_relation
WHERE DatabaseList.ServerName = Server_db_relation.ServerName
AND DatabaseList.DatabaseName = Server_db_relatio.[Database])
Я не получаю никаких синтаксических ошибок, но строки не отображаются пострадавшие. Я добавил 2 строки теста, которые, как я знаю, существуют в DatabaseList
, а не в Server_db_relation
.