В принципе, у нас есть одна таблица (original table
) и она подставлена в другой стол (backup table
); таким образом, обе таблицы имеют точно такую же схему.Как проверить, имеют ли две таблицы одинаковые данные?
В начале обе таблицы (original table
и backup table
) содержат точно такой же набор данных. После некоторого времени по какой-то причине мне нужно проверить, изменился ли набор данных в original table
или нет.
Для этого мне нужно сравнить набор данных в original table
с backup table
.
Скажем original table
имеет следующую схему:
create table LemmasMapping (
lemma1 int,
lemma2 int,
index ix_lemma1 using btree (lemma1),
index ix_lemma2 using btree (lemma2)
)
Как я мог достичь сравнения набора данных?
Обновление: таблица не имеет первичного ключа. Он просто хранит сопоставления между двумя идентификаторами.
Это работает. Благодаря! –
«Будьте осторожны с внешними соединениями, так как они ведут себя по-разному в разных SQL-машинах *» - подумайте об этом? Я не видел ни одной СУБД, которая делает вещи по-разному, когда используется внешнее соединение. "* Предикаты, помещенные в предложение where, вместо предложения join иногда могут превратить ваше внешнее соединение во внутреннее соединение *" - да, конечно, они будут, если эти предикаты используют столбцы из «внешней таблицы». При сравнении нулевого значения с постоянным значением строки с нулями будут отброшены. –
Майк, не могли бы вы предоставить запрос. thanks ^^ – stacheldraht27