Olá,
estou a ter problemas com o seguinte código, dando o erro:
"ORA-01861: o literal não corresponde à cadeia de caracteres do formato"
MERGE INTO B491_MAIN main
USING(
SELECT ACESS_ID,
CASE WHEN (ACESS_ID IN (SELECT ACESS_ID
FROM (
SELECT ACESS_ID, END_DATE_CP, SUBSTR(TO_CHAR(SYSDATE, 'YYYYMMDD'), 1, 6) || BILL_CYCLE_CODE AS REF_DATE, BILL_CYCLE_CODE, TO_CHAR(SYSDATE, 'YYYYMMDD') AS PREBILL
FROM B491_MAIN
WHERE EXCLUSAO = 'OK'
)t
WHERE TO_DATE(END_DATE_CP) < TO_DATE(REF_DATE) AND TO_DATE(END_DATE_CP) < TO_DATE(PREBILL) - 15 AND TO_DATE(REF_DATE) < TO_DATE(PREBILL) - 8
) )
THEN 'POST_BILL'
ELSE 'PRE_BILL'
END AS DECISION
FROM B491_MAIN
WHERE EXCLUSAO = 'OK'
)tabela
ON(tabela.ACESS_ID = main.ACESS_ID)
WHEN MATCHED THEN
UPDATE SET LIST_ID = tabela.DECISION
WHEN NOT MATCHED THEN
INSERT (LIST_ID)
VALUES('POST_BILL')
;
O código dentro do "USING" corre bem.
Alguma ajuda?
Obrigado.