Obrigada pelas dicas Claudio......
----- Original Message -----
From: "Claudio Augusto Teixeira" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, January 10, 2003 12:44 PM
Subject: Re: [enterprise-list] Nao pode inserir nulo
> 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]
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]