quarta-feira, 23 de abril de 2008

Dica Postgres - Obter quantidade de linhas de update no PL/pgsql

Para obtermos no PostgreSQL o número de linhas atualizadas por um UPDATE por exemplo, devemos usar a opção GET DIAGNOSTICS. Veja o exemplo na sequência:

CREATE OR REPLACE FUNCTION f_insert_pesq(
         p_dn_simulation_number integer, 
         p_dc_protocol character varying, 
         p_dn_scenario integer, 
         p_dn_variation integer, 
         p_dn_subscenario integer, 
         p_dn_pesq double precision
) RETURNS character varying AS
$BODY$
DECLARE
    v_count INTEGER;
BEGIN
 UPDATE simulation SET dn_pesq = p_dn_pesq
 WHERE dn_simulation_number = p_dn_simulation_number
 AND dc_protocol = p_dc_protocol
 AND dn_scenario = p_dn_scenario
 AND dn_variation = p_dn_variation
 AND dn_subscenario = p_dn_subscenario;

 GET DIAGNOSTICS v_count = ROW_COUNT;

 IF v_count > 0 THEN
         RETURN 'success update';
 ELSE
  RETURN 'simulation not found';
 END IF;
END;
$BODY$
LANGUAGE 'plpgsql';


Tranquilis em !!!

Nenhum comentário:

Postar um comentário

Drunk Penguins

Drunk Penguins
Drunk Penguins