Как совместить два курсора в DB2
У меня есть два курсора, как показано ниже:
EXEC SQL
DECLARE C1 CURSOR FOR
SELECT DISTINCT FIELD_1
FROM TABLE
WHERE FIELD_2 BETWEEN :MAX_DATE
AND '9999-12-31'
AND FIELD_3 = :VALUE
WITH UR
FOR FETCH ONLY
END-EXEC
EXEC SQL
DECLARE C2 CURSOR FOR
SELECT DISTINCT FIELD_1
FROM TABLE
WHERE FIELD_2 BETWEEN :MIN_DATE
AND '9999-12-31'
AND FIELD_3 = :VALUE
WITH UR
FOR FETCH ONLY
END-EXEC
Оба курсора указывают на одну и ту же таблицу. Как я могу совместить два курсора? Пожалуйста, дайте мне знать, как объединить две таблицы.
1 ответ
Если вы просто хотите объединить предикаты обоих курсоров, конечно, вы можете это сделать. Объединить WHERE
статьи:
EXEC SQL
DECLARE C1 CURSOR FOR
SELECT DISTINCT FIELD_1
FROM TABLE
WHERE FIELD_2 BETWEEN :MIN_DATE
AND :MAX_DATE
AND FIELD_3 = :VALUE
WITH UR
FOR FETCH ONLY
END-EXEC
Ваш пример в вопросе имел минимальное и максимальное значения в диапазоне с 9999-12-31
что не имеет смысла для меня.