Olas,
vou dar duas alternativas, uma que ainda segue esse esquema de
insercao e depois consulta, mas com um impacto menor (somente
para Oracle) e outro (recomendavel nesse caso) que nao tem nada a
ver com banco de dados.
1). Ao inves de fazer um "insert into table values
(<sequence>.NEXTVAL, ...", faca:
"select <sequence>.NEXTVAL from DUAL" e pegue a chave primaria
atual. Entao pegue esse valor atraves de um getXXX e o use
diretamente no insert.
2). Mantenha uma variavel no objeto application que represente a
chave primaria. Toda vez que voce desejar a chave primaria atual
voce trava esse objeto, pega o valor e o incrementa. Acho essa a
melhor solucao.
Abracos,
Bruno.
On Thu, 22 Feb 2001, jspdeveloper wrote:
|boa tarde javaneses,
|
|fiz um sistema de inscricao via web onde o usuario recebe o numero de
|inscricao via e-mail.
|
|mas acho que a forma que eu faco isto nao eh muito profissional :
|
|1- apos pegar e validar os valores vindos de um formulario de inscricao, eu
|executo um 'insert'.
|2 depois disso eu dou um ´select id_usuario from usuarios where nome =
|formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do
|formulario.)
|3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario
|atraves de um getXXX("id_usuario").
|4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o
|email.
|
|Acho que esta forma de programacao nao cai bem em sistemas com grande
|quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao
|sei muito de banco de dados mas acho que existe outra forma de se obter um
|ID (chave primaria unica gerada por sequence(oracle) ou
|auto_increment(mysql)) sem ser da forma insert->select.
|
|alguem tem alguma sugestao para casos deste tipo.
|
|obrigado pela atencao.
|
|
|
|
|
|
|
|
|
|------------------------------ LISTA SOUJAVA ----------------------------
|http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
|dúvidas mais comuns: http://www.soujava.org.br/faq.htm
|regras da lista: http://www.soujava.org.br/regras.htm
|para sair da lista: envie email para [EMAIL PROTECTED]
|-------------------------------------------------------------------------
|
______________________________________________________________
Bruno Diniz de Paula
[EMAIL PROTECTED] - UFMG
"Coracoes ao alto e pes no chao."
"A verdadeira experiencia com Deus nao nos faz
fugir da realidade, mas nos da forcas para
enfrenta-la e transforma-la."
Pe. Zeca
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------