Ao invés disso:
If NEW.codigo is null Or NEW.codigo = 0 then
..........
If NEW.codigo is null Then
NEW.codigo := 1;
Else
NEW.codigo := NEW.codigo + 1;
End If;
End If;
Use isso:
if TG_OP = 'INSERT' then
NEW.codigo := COALESCE(NEW.codigo, 0) + 1;
end if;
Mas do que você ainda precisa?
--
Rodrigo Hjort
http://icewall.org/~hjort
2006/11/13, Paulo <[EMAIL PROTECTED]>:
> Exato, tenho um trigger que numero a coluna codigo:
>
> NEW.codigo := NEW.codigo + 1;
>
> Preciso saber como incrementar a coluna serie + codigo.
> Minha Primary KEY (codigo, serie)
> .......
> If NEW.codigo is null Or NEW.codigo = 0 then
> ..........
> If NEW.codigo is null Then
> NEW.codigo := 1;
> Else
> NEW.codigo := NEW.codigo + 1;
> End If;
> End If;
> .......
>
> Este trigger eu uso ante de incluir o registro na tabela.
>
>
>
>
> ----- Original Message -----
> From: Rodrigo Hjort
> To: Grupo de Usuários do PostgreSQL no Brasil
> Sent: Saturday, November 11, 2006 2:20 PM
> Subject: Re: [PostgreSQL-Brasil] Ref: SEQUENCIAL
>
>
> A solução que eu vejo é criar via trigger essa atribuição dos valores.
>
> Não está claro no teu caso o que é passado para o INSERT e o que é
> controlado automaticamente ("codigo" ou "serie" ?). De qualquer forma, só
> mudará o nome do campo mesmo.
>
> Dá pra usar uma seqüência (SEQUENCE) nessa solução, mas somente se você
> puder aceitar números vagos (aka "buracos").
>
>
>
> 2006/11/11, Paulo < [EMAIL PROTECTED]>:
> Preciso saber como incluir dados numa tabela com numeracao sequencial,
> ou
> seja, tenho um campo com o seguinte primary key (codigo + serie ),
> preciso
> ao incluir que a sequencia fique da seguinte forma:
>
> codigo - serie
> 1 0
> 2 0
> 3 0
> 4 0
> 1 1
> 2 1
> 3 1
> 1 2
> 2 2
> etc.
>
> Ao mudar a serie, uma nova numeracao é iniciada.
>
> Paulo.
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios