Gostaria de saber se tem alguma maneira melhor de validar o campo CONCIL da tabela PERFIL verificando se for igual a 'EC', executar um update, se não executar outro update, conforme a minha query abaixo:
SET serveroutput ON;
DECLARE
P_COD_MATRIZ VARCHAR2(10);
P_CONCIL VARCHAR2(50);
V_EXISTS NUMBER(1);
BEGIN
SELECT
CASE WHEN NOT EXISTS (
SELECT CONCIL INTO P_CONCIL FROM TB_EDIEXT_PERFIL WHERE CONCIL = 'EC')
THEN 0
ELSE 1
END AS VERIFICA_CONCIL INTO V_EXISTS
FROM DUAL;
IF V_EXISTS = 0 THEN
UPDATE TB_EDIEXT_PERFIL SET CONCIL = P_CONCIL
WHERE COD_MATRIZ = P_COD_MATRIZ;
ELSE
UPDATE TB_EDIEXT_PERFIL SET CONCIL = (
SELECT CONCIL INTO P_CONCIL FROM TB_EDIEXT_PERFIL WHERE COD_MATRIZ = P_COD_MATRIZ)||','||P_CONCIL WHERE COD_MATRIZ = P_COD_MATRIZ;
END IF;
END;
/
Obrigado desde já!