Я хочу сравнить две таблицы по записи. У меня есть два курсора для каждой таблицы. Код выглядит так
Declare Cursor c1 for SELECT * from Table1
OPEN c1
While @@Fetch_status=0
Begin
Declare Cursor c2 for SELECT * from Table2
OPEN c2
WHILE @@Fetch_Status=0
Begin
/*Comparison happens here*/
END
END
Должен ли я при обработке указывать, какой курсор я извлекаю, и как мне это сделать?
ИЗМЕНИТЬ
Для каждой записи в таблице 1 я хочу
- Найдите в таблице 2 эту запись на основе первичного ключа.
- Когда он найден, я хочу обновить значения дополнительных столбцов в таблице 2 на основе значения столбца в таблице 1.
- Когда эта запись отсутствует в таблице 2, я хочу скопировать ее из таблицы 1 в таблицу 2 и установить значение по умолчанию для дополнительного столбца в таблице 2.
Открыт для других решений (не ограничиваясь курсорами)
How do I do a JOIN?
, то, вероятно, это неподходящий вопрос для сайта. - person JNK   schedule 07.12.2012