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
