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