объединение курсоров

Hel975
Дата: 09.10.2003 11:59:05
Можно ли объединять курсоры?
Glory
Дата: 09.10.2003 12:05:33
Это типа как ?
Hel975
Дата: 09.10.2003 12:12:19
Можно объявить курсор на выборку. Например,

DECLARE curTemp CURSOR READ_ONLY FOR
select * from Table

Можно ли объявив 2 курсора, затем результат объединить?
Glory
Дата: 09.10.2003 12:15:20
Прямо курсоры нельзя. Но UNION можно использовать при объявлении курсора

DECLARE curTemp CURSOR READ_ONLY FOR
select * from Table1 union all select * from Table2
iSestrin
Дата: 09.10.2003 12:15:59
такой синтаксис не поддерживается, но можно в одном курсоре объединить произвольное число таблиц
tpg
Дата: 09.10.2003 12:19:32
2 iSestrin

Какой сиснтаксис не поддерживается? Как Glory написал?
Hel975
Дата: 09.10.2003 12:22:54
Это очевидно и понятно. Но проблема вся в том, что у меня данные хранятся в нескольких таблицах по месяцам. Если вибираются данные по нескольким месяцам, то я в цикле сначала определяю название таблицы. Главная проблема в том, что мне потом надо из всей выборки по месяцам удалить дублирующиеся записи.
Сейчас все это реализованно следующим образом: сперва выбираются данные в цикле по таблицам, записываются в таблицу Results. Затем мы выбираем эти данные из Results и в цикле удаляем двойные записи.
Я хочу сделать, чтобы сразу мы проверяли есть ли дублирование записей.
tpg
Дата: 09.10.2003 12:25:10
UNION без ALL как раз и занимается отбором недублирующихся записей.
Hel975
Дата: 09.10.2003 12:28:12
Уникальность записи мы определяем по 5-ти полям. В остальных могут быть различия. Если мы воспользуемся union без all, то выбируться все записи. Или как?
Glory
Дата: 09.10.2003 12:28:43
Сейчас все это реализованно следующим образом: сперва выбираются данные в цикле по таблицам, записываются в таблицу Results. Затем мы выбираем эти данные из Results и в цикле удаляем двойные записи.
Я хочу сделать, чтобы сразу мы проверяли есть ли дублирование записей.


До конца не понял. Но разве нельзя
- использовать UNION (без ALL) при объявлении куросора
- проверять данные ПЕРЕД занесением в Results. Если они там уже есть, то не заносить
- создать в Results индекс с поцией IGNORE_DUP_KEY