Bom... Vamos lá ....
Não conheço nada de ORACLE, mas em pg ficaria +/- assim :
create table public.test5
(
seq int,
descr varchar(40)
);
create or replace function fcn_tg_test_seq() returns trigger as $$
begin
select coalesce(max(seq),0)+1 into new.seq from test5;
return new;
end;
$$ LANGUAGE "plpgsql";
create trigger tg_test_seq before insert on public.test5 FOR EACH ROW
EXECUTE PROCEDURE fcn_tg_test_seq();
insert into test5 (descr) values ('asaaa');
Mas.... Cuidado ... Isso é apenas um teste... não use esse código em
produção... dê preferencia as sequencias [1], pois ela trata faz todos
os isolamentos necessários e você possui funções especificas para
manipulação de seus valores . [2]
[1] http://www.postgresql.org/docs/current/static/sql-createsequence.html
[2] http://www.postgresql.org/docs/current/static/functions-sequence.html
Att:
Thiago Risso
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral