| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2008 10:16:51
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
Oi gente.
Estou portando (não migrando) uma aplicação em Oracle para mysql. A aplicação deve ser completamente independente de BD, mas ainda não é completamente.
No oracle usamos "SELECT sequence.nextval FROM DUAL" para obter o próximo valor a ser inserido na tabela. Esta estratégia é importante por que há bastante concorrência por ser usado simultaneamente por vários usuários, pela necessidade de transações e pela necessidade de conhecer-se o valor gerado na PK para que este possa ser usado com FK em outras tabelas na mesma transação.
Daí, na hora de portar para MySQL, o problema: MySQL usa autoincrement. É possível simular-se a estratégia de sequences sem sacrificar nenhum dos quesitos já existentes (concorrência, transações, usar a PK como FK em outras tabelas) e sem ter que refazer grande parte do código do zero?
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2008 10:20:08
|
mestreshake
Thread.start()
![[Avatar]](/images/avatar/52b01d1cf79d4a11bec3e12a126252d3.jpg)
Membro desde: 28/02/2008 19:13:22
Mensagens: 31
Offline
|
Fala Armadilha tudo blz? vo tenta te ajudar
No mysql nao tem nada tao avancado qnt o oracle a solução e consultar o ultimo id cadastrada acresentar um nele trava o banco e fazer suas operações ai depois destrava,
E isso a falows v
|
Acho incrivel como as pessoas tem tempo para escrever um post de uma duvida mais nao perder 2 min fazendo um pesquisa no google. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2008 12:27:31
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
mestreshake wrote:Fala Armadilha tudo blz? vo tenta te ajudar
No mysql nao tem nada tao avancado qnt o oracle a solução e consultar o ultimo id cadastrada acresentar um nele trava o banco e fazer suas operações ai depois destrava,
E isso a falows v
O que vem a ser este "trava" e "destrava"?
Quanto a concorrência, isso não buga não se dois usuários estiverem fazendo inserção na mesma tabela ao mesmo tempo?
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2008 23:09:45
|
Oliveira.caio
JavaGuru
Membro desde: 24/07/2008 19:38:33
Mensagens: 226
Localização: São Paulo - SP
Offline
|
Não sei se ajuda.
Quando você tem uma chave primária em uma tabela e faz um insert pode usar o
Ele mostrará o id do ultimo insert da sua conexão.
|
Grato
Caio Oliveira
 
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/05/2011 10:13:09
|
reinaldo_cs
Smalltalk
Membro desde: 13/06/2008 07:39:53
Mensagens: 2
Offline
|
Outra solução possível é uma tabela para apenas guardar o numero da sequencia e adicionar mais 1 e atualizar.
Ex:
|
|
|
 |
|
|