Я пытаюсь выполнить обновление с помощью следующего кода:
MERGE
INTO target trg
USING (
WITH email AS (
SELECT trim(t2.crn_0) as cf,
coalesce(trim(t1.WEB_1),trim(t1.WEB_0)) as im
FROM tab1 t1
INNER JOIN tab2 t2 on t2.bprnum_0=t1.bpanum_0
INNER JOIN target t3 on t3.ycodfis_0=t2.crn_0
WHERE t1.bpaadd_0='000'
AND regexp_like(t3.ycodfis_0,'[^A-Za-z]')
AND t3.ycodfis_0 != ' '
AND coalesce(trim(t1.WEB_1),trim(t1.WEB_0)) != ' '
)
SELECT email.cf, email.im FROM email
) ON (email.cf = trg.ycodfis_0)
WHEN MATCHED THEN UPDATE SET trg.email_0 = email.im
Я получаю следующую ошибку:
"EMAIL". "CF": недействительноидентификатор
Я попытался выполнить единственный запрос оператора WITH, он выполняется правильно.
Я несколько раз просматривал синтаксис слияния, но не могу найти то, чтомоя ошибка.
Кто-нибудь может мне помочь, пожалуйста?