econz icon

Firebird - Merge

econz | PRO | 09/05/18 08:05:26 PM UTC | 0 ⭐ | 702 👁️ | Never ⏰ | []
SQL |

610 B

|

None

|

0 👍

/

0 👎

MERGE INTO CIDADE C
 
USING (
   SELECT
      E.CIDADE,
      E.UF
   FROM EMPRESA E
) C_EMP
ON
   TRIM(C_EMP.CIDADE) = TRIM(C.DESCCIDADE) AND
   TRIM(C_EMP.UF) = TRIM(C.UF)
 
 
WHEN matched THEN
   UPDATE SET DESCCIDADE = DESCCIDADE || '*'
 
--when matched and C.UF='RS' then /// tb pode ser dessa forma
--   update set DESCCIDADE = DESCCIDADE || '**'
 
WHEN NOT matched THEN
   INSERT (CODCIDADE,
           DESCCIDADE,
           UF,
           CODEXPORTA)
   VALUES ((SELECT (COALESCE(MAX(C2.CODCIDADE),0)+1) FROM CIDADE C2),
           C_EMP.CIDADE,
           C_EMP.UF,
           '0000') ;

Comments