Boa tarde pessoal. To mudando uma base de Firebird para Postgres. No 
firebird tinha uma trigger para atualizar um numero sequencial de 
protocolo com o ano.
No postgres to tentando assim:

CREATE FUNCTION numero_protrec()

RETURNS TRIGGER AS

$BODY$

DECLARE

nant int;

anoant char(4);

BEGIN

SELECT nprot, anoprot INTO nant, anoant FROM PROTOCOLS

WHERE id = (SELECT MAX(id) FROM PROTOCOLS);

IF ((nant IS NULL) OR (NEW.anoprot <> anoant))

THEN

NEW.nprot = 1;

ELSE

NEW.nprot = (nant + 1);

END IF;

RETURN NULL;

END;

$BODY$

LANGUAGE 'plpgsql' VOLATILE;



CREATE TRIGGER numero_prot_rec

BEFORE INSERT ON protocols

FOR EACH ROW

EXECUTE PROCEDURE numero_protrec();

Só que quando tento inserir um dado na tabela, não acontece nada, ou 
seja, o dado não é gravado.

Onde tá o erro?
[]'s

Stclara

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a