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