Как проверить между собой две таблицы?

volkandrey
Дата: 03.06.2011 11:06:42
Как проверить между собой две таблицы на изменение, если таковые имеются, то проапдейтить проверяемую таблицу этими изменениями?
У меня сразу возникли мысли это по строчно курсором выбирать строку, проверять по каждому полю, каждую запись, и всё это в ручную нужно написать, то есть писать нужно кучу кода, таблица на 42 поля и на 20 тысячную кучу записей, и каждому полю нужно определить соответсвующие конверты, LTRIM, RTRIM и т.д. не ужели нет в SQL встроенного механизма на такую рутину?

Может кто реализовывал нечтоподобное и поделится общим алгоритмом?
WarAnt
Дата: 03.06.2011 11:08:36
volkandrey,

есть встроенный механизм называется update
Anatoly Podgoretsky
Дата: 03.06.2011 11:10:30
Это вообще возможно, если есть неизменяемый ключ.
Anatoly Podgoretsky
Дата: 03.06.2011 11:10:51
WarAnt
volkandrey,

есть встроенный механизм называется update

С предварительным DELETE
Anatoly Podgoretsky
Дата: 03.06.2011 11:11:56
Я правильно понял, надо сделать клон?
WarAnt
Дата: 03.06.2011 11:14:19
Anatoly Podgoretsky
WarAnt
volkandrey,

есть встроенный механизм называется update

С предварительным DELETE

тогда уж сразу можно truncate, а потом insert и вуаля две одинаковых таблицы:)
iap
Дата: 03.06.2011 11:30:49
WarAnt
Anatoly Podgoretsky
пропущено...

С предварительным DELETE

тогда уж сразу можно truncate, а потом insert и вуаля две одинаковых таблицы:)
А TRUNCATE всегда возможен?

Но есть ещё MERGE...

Я правда не понял страдания volkandrey по поводу 42 полей, каких-то LTRIM и RTRIM.
И при чём тут куча записей?

Лучше бы скрипт CREATE TABLE для обеих таблиц здесь написал.
И версию сервера.
Anatoly Podgoretsky
Дата: 03.06.2011 11:33:24
А мы даже не знаем какая у него СУБД, он не посчитал нужным нам это сообщить, может у него MS SQL 6.5
volkandrey
Дата: 03.06.2011 16:30:04
WarAnt
volkandrey,

есть встроенный механизм называется update

Это должно делаться уже после того, когда изменения в проверяемой таблице найдены.

Попробую подробнее описать суть проблемы.
Сервер MSSQL 2008, Две таблицы А, В все поля varchar. Произошли изменения нескольких записей в некоторых полях таблицы А, внести эти изменения в таблицу В, обязательное условие использовать update этих записей. Удалять таблицу В нельзя!
Gwa
Дата: 03.06.2011 16:39:30
volkandrey,
>>Может кто реализовывал нечтоподобное и поделится общим алгоритмом?
Не нужно дублировать данные.
Вы этим сами себе создаёте проблемы.