Ola Carla,  o Oracle nao possui campo autoincrement, na verdade o que existe eh uma 
sequence.

Com a sequence vc pode trabalhar de duas maneiras:

1) fazer um select na sequence antes para pegar o proximo numero, depois vc utiliza 
esse id em um insert, o 
select fica mais ou menos assim:

select nomeDaSequence.nextVal as proximoId

2) no proprio insert vc chama nextVal, assim:

 insert into contatos (id, nome, telefone) values (nomeDaSequence.nextVal, 'jose', 
'555-5555')

Em um primeiro momento parece uma bobeira, porque a Oracle fez isso? Mas a 
possibilidade de se ter o id antes 
da insercao eh maravilhosa, por exemplo:

muitas vezes em um cadastro vc precisa inserir dados em varias tabelas em uma mesma 
transacao, so que 
existem relacionamentos entre elas, como vc faz para saber qual foi o ultimo 
autonumeracao inserido em uma 
determinada tabela? Cada RDBMS possiblita uma maneira, so que infelizmente muita gente 
faz um select max(id) 
na coluna da pk, o que em um mundo de acesso concorrente eh loucura.

Abraco,

Claudio
claudio.com.br


On Fri, 10 Jan 2003 09:41:44 -0300, "Carla Ribeiro" <[EMAIL PROTECTED]> escreveu :

> De: "Carla Ribeiro" <[EMAIL PROTECTED]>
> Data: Fri, 10 Jan 2003 09:41:44 -0300
> Para: <[EMAIL PROTECTED]>
> Assunto: [enterprise-list] Nao pode inserir nulo
> 
> Ola Pessoal,
> 
> Estou tendo problemas com uma aplicacao que acessa o banco de dados Oracle
> O problema eh quando tento inserir alguma linha, onde nessa linha existe um
> campo autoincrement..
> 
> A mensagem que ocorre:
> n�o � poss�vel inserir NULL em  ("nomebanco"."nometabela"."ID")
> 
> Alguem ja teve esse problema e poderia me dar uma ajuda?
> 
> Atenciosamente,
> Carla
> 
> 
> ---------------------------------------------------------------------
> Para cancelar a subscri��o, envie mensagem para: 
>[EMAIL PROTECTED]
> Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
> 
> 
> 
> 

---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: 
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a