lunes, 10 de febrero de 2020

INSERT comprobando antes que no exista


Se puede hacer de dos formas:

Insert into TABLE (CAMPOS) select CAMPOS a insertar from dual where not exists (select null from table where codigo = CODIGO);

O con un procedure:

DECLARE   
     V_CONTADOR NUMBER(10):=0;  
BEGIN
 
    SELECT count(*) INTO V_CONTADOR FROM TABLE WHERE CAMPO=VALOR;
 
  IF V_CONTADOR=0  then
    Insert into TABLE(CAMPOS) values (CAMPOS);   
  END IF; 
 
END;