DECLARE
   V_CLASS VARCHAR2(10);
BEGIN
   FOR C_PRONCM IN (SELECT DISTINCT CDPRODNCM
                    FROM PRODUTO
                    WHERE CDPRODNCM IS NOT NULL) LOOP
                    
      SELECT MAX(CDCLASFISC)
      INTO V_CLASS
      FROM CLASFISCAL
      WHERE CDCLASFISC = C_PRONCM.CDPRODNCM;

     IF V_CLASS IS NULL THEN
         INSERT INTO CLASFISCAL
           (CDCLASFISC, DSCLASFISC)
         VALUES
           (C_PRONCM.CDPRODNCM, 'NCM');
     END IF;

   END LOOP;

   FOR C_PRODUTO IN (SELECT CDPRODNCM, CDPRODUTO
                     FROM PRODUTO) LOOP
      UPDATE PRODUTO
      SET CDCLASFISC =  C_PRODUTO.CDPRODNCM
      WHERE CDPRODUTO = C_PRODUTO.CDPRODUTO;

   END LOOP;
END;
/

