Mesclar data com hora pode gerar uma chave primária de primeira. No seu 
código vc pode criar uma chave como o seguinte formato:

aaaammddhhmmssxxx

onde xxx é um número aleatório. Vc insere esse valor no banco de dados e 
depois mostra para o usuário. Assim não precisará acessar o banco de dados 
em busca da chave primária.

Simples.


----Original Message Follows----
From: "Joao Pedro M. F. Monoo" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: <[EMAIL PROTECTED]>
Subject: Re: [java-list] como obter chave primaria em paginas jsp ??
Date: Fri, 23 Feb 2001 15:51:34 -0300

Se o sua preocupacao eh a concorrencia e performance, sem duvida alguma a
melhor e mais correta abordagem eh fazer todo o procedimento de insercao
do registro via stored procedure, voce pode fazer fazer uma sp que pegue o
codigo a ser inserido de uma sequence, inserir o registro com o codigo
correto e retorna-lo para a aplicacao, por ex como um parametro de saida
(output parameter)

Dessa forma, voce faz apenas uma requisicao ao banco, nao corre o risco de
ter chaves duplicadas e ainda nao precisa fazer uma query em sua tabela soh
pra pegar o codigo, oque gera um processamento desnecessario.

[]´s
---------------------------------------------
Joao Pedro
#183816 Linux Registered User

 > 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]
-------------------------------------------------------------------------


_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


------------------------------ 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] 
-------------------------------------------------------------------------

Responder a