[EMAIL PROTECTED] escreveu:
> Amigos, tenho um problema com campos de incremento, utilizei o nextval para
> atribuir ao ID números sequenciais, mas qdo tento gravar pelo meu sistema,
> por o ID ser campo primário, gera-se portanto uma exceção avisando que não é
> aceito valor nulo.
>
Não entendi. Porque complicar se você pode fazer assim:
bash-3.00$ psql -U postgres regression
Bem vindo ao psql 8.1.4, o terminal iterativo do PostgreSQL.
Digite: \copyright para mostrar termos de distribuição
\h para ajuda com comandos SQL
\? para ajuda com comandos do psql
\g ou terminar com ponto-e-vírgula para executar a consulta
\q para sair
regression=# create table foo (a serial, b varchar(10), primary key(a));
NOTA: CREATE TABLE criar? sequ?ncia impl?cita "foo_a_seq" para coluna serial
"foo.a"
NOTA: CREATE TABLE / PRIMARY KEY criar? ?ndice impl?cito "foo_pkey" na tabela
"foo"
CREATE TABLE
regression=# insert into foo (b) values('foo');
INSERT 0 1
regression=# insert into foo (b) values(null);
INSERT 0 1
regression=# insert into foo (b) values('bar');
INSERT 0 1
regression=# select * from foo;
a | b
---+-----
1 | foo
2 |
3 | bar
(3 registros)
regression=#
Você não precisa especificar a coluna 'serial' ao inserir ele faz isso
automaticamente por causa da cláusula 'default'.
--
Euler Taveira de Oliveira
http://www.timbira.com/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br