У меня есть запрос на выборку, как показано ниже:Преобразования Выбора и обновление в Update с подвыборкой в DB2
SELECT COL1, COL2, COL3
FROM
(
SELECT A.COL1, B.COL2, A.COL3
FROM
SCHEMA1.TAB1 A, SCHEMA2.TAB2 B
WHERE
A.SOMECOL = B.SOMECOL
) TEMP
WHERE NOT EXISTS
(
SELECT 1 FROM SCHEMA3.TAB3 C WHERE C.COL3 = TEMP.COL3
)
Теперь в моей текущей настройке коды, я бег SELECT
первого, чтобы получить результаты, а затем в следующем шаг, я обновляю таблицу SCHEMA3.TAB3
с ниже запросом на обновлении перебирая результирующий набор:
UPDATE SCHEMA3.TAB3 SET COL1=?, COL2=? WHERE COL3=?
Когда три значения параметров выходит из результата выше SELECT
.
Но теперь я хочу преобразовать эти два шага выбора и обновления в один оператор обновления с подбором и полностью удалить параметры с параметрами.
Как я могу это сделать?
Что-то здесь не вычисляется. Вы выбираете из TAB1 строки, в которых COL3 отсутствует в TAB3; как вы планируете обновлять в TAB3 строки, которые там не существуют? – mustaccio