Insert mySql
Olá pessoal,
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Eric Clauber
Curtidas 0
Respostas
Eduardo Pessoa
24/01/2015
Um insert comum não funciona?
GOSTEI 0
Ronaldo Lanhellas
24/01/2015
Olá pessoal,
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Resolve mas não creio que seja a melhor solução, o melhor é você fazer essa lógica no seu código.
GOSTEI 0
Eduardo Pessoa
24/01/2015
Seria uma seleção complexa Ronaldo?
GOSTEI 0
Ronaldo Lanhellas
24/01/2015
Seria uma seleção complexa Ronaldo?
No meu ponto de vista as inserções hierárquicas devem ser feitas no próprio sistema, onde toda lógica de negócio deve estar. Não que seja complexo.
GOSTEI 0
Ronaldo Lanhellas
24/01/2015
Seria uma seleção complexa Ronaldo?
No meu ponto de vista as inserções hierárquicas devem ser feitas no próprio sistema, onde toda lógica de negócio deve estar. Não que seja complexo.
GOSTEI 0
Marisiana Battistella
24/01/2015
Sugiro que crie duas procedures, uma para inserção do pedido e outra para a inserção dos itens.
Inserir o pedido:
* A procedure deverá receber como parâmetros as informações referentes ao pedido e realizar a inserção.
* Após o INSERT, você e deve verificar se ocorreu erro: Se ocorreu retorna uma mensagem ao usuário; Senão retorna o código do pedido inserido. Isso pode ser feito utilizando os EXCEPTION da linguagem SQL.
Na aplicação você deverá chamar a procedure passando por parâmetro as informações do pedido.
Depois disso, verificar se o retorno foi erro ou se foi OK, Se inseriu o pedido corretamente, pega o número do pedido retornado e chama a procedure que vai inserir os itens.
Inserir itens do pedido:
* A procedure deverá receber como parâmetro as informações referentes ao item do pedido e realizar a inserção dele.
* Utilizar EXCEPTION para verificar se a inserção foi realizada corretamente.
Inserir o pedido:
* A procedure deverá receber como parâmetros as informações referentes ao pedido e realizar a inserção.
* Após o INSERT, você e deve verificar se ocorreu erro: Se ocorreu retorna uma mensagem ao usuário; Senão retorna o código do pedido inserido. Isso pode ser feito utilizando os EXCEPTION da linguagem SQL.
Na aplicação você deverá chamar a procedure passando por parâmetro as informações do pedido.
Depois disso, verificar se o retorno foi erro ou se foi OK, Se inseriu o pedido corretamente, pega o número do pedido retornado e chama a procedure que vai inserir os itens.
Inserir itens do pedido:
* A procedure deverá receber como parâmetro as informações referentes ao item do pedido e realizar a inserção dele.
* Utilizar EXCEPTION para verificar se a inserção foi realizada corretamente.
GOSTEI 0
Eric Clauber
24/01/2015
Um insert comum não funciona?
de certa forma sim, mas o problema é pegar o numero do pedido para a tabela pai e inserir, para cada item da tabela filha. seriam 2 inserts
GOSTEI 0
Eric Clauber
24/01/2015
Olá pessoal,
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Resolve mas não creio que seja a melhor solução, o melhor é você fazer essa lógica no seu código.
Opa,
é que assim, pensei em questao de desempenho, por isso to querendo fazer pelo banco. Mas assim, meu conhecimento em java é básico, estou quebrando a cabeça aqui. Se você tiver algum código que me ajude, agradeço. Nesta questão há outra dúvida. Como gerarei o numero do novo pedido sem consultar no banco, ou sejam. Passa isso tenho que saber o numero do ultimo pedido no banco e acrescentar mais 1. Há algum código que substitua isso??
GOSTEI 0
Eric Clauber
24/01/2015
Sugiro que crie duas procedures, uma para inserção do pedido e outra para a inserção dos itens.
Inserir o pedido:
* A procedure deverá receber como parâmetros as informações referentes ao pedido e realizar a inserção.
* Após o INSERT, você e deve verificar se ocorreu erro: Se ocorreu retorna uma mensagem ao usuário; Senão retorna o código do pedido inserido. Isso pode ser feito utilizando os EXCEPTION da linguagem SQL.
Na aplicação você deverá chamar a procedure passando por parâmetro as informações do pedido.
Depois disso, verificar se o retorno foi erro ou se foi OK, Se inseriu o pedido corretamente, pega o número do pedido retornado e chama a procedure que vai inserir os itens.
Inserir itens do pedido:
* A procedure deverá receber como parâmetro as informações referentes ao item do pedido e realizar a inserção dele.
* Utilizar EXCEPTION para verificar se a inserção foi realizada corretamente.
Inserir o pedido:
* A procedure deverá receber como parâmetros as informações referentes ao pedido e realizar a inserção.
* Após o INSERT, você e deve verificar se ocorreu erro: Se ocorreu retorna uma mensagem ao usuário; Senão retorna o código do pedido inserido. Isso pode ser feito utilizando os EXCEPTION da linguagem SQL.
Na aplicação você deverá chamar a procedure passando por parâmetro as informações do pedido.
Depois disso, verificar se o retorno foi erro ou se foi OK, Se inseriu o pedido corretamente, pega o número do pedido retornado e chama a procedure que vai inserir os itens.
Inserir itens do pedido:
* A procedure deverá receber como parâmetro as informações referentes ao item do pedido e realizar a inserção dele.
* Utilizar EXCEPTION para verificar se a inserção foi realizada corretamente.
Opa, obrigado!
Creio que a solução esteja aqui. Vou quebrar a cabeça aqui. Se tiver algum código que me de uma luz, agradeço!
GOSTEI 0
Marisiana Battistella
24/01/2015
Por nada!
Não é recomendado utilizar trigger em inserções, alterações e exclusões de dados.
Tudo o que puder ser tratado atráves de procedures e functions, assim deve ser feito.
Não é recomendado utilizar trigger em inserções, alterações e exclusões de dados.
Tudo o que puder ser tratado atráves de procedures e functions, assim deve ser feito.
GOSTEI 0
Daniel Volpato
24/01/2015
Olá pessoal,
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Pode refazer melhor sua pergunta!
Estes insert's que você quer fazer é através da tua aplicação java, certo??
Tuas tabelas no MySql possuem classes e relacionamentos na tua aplicação java??
Esta utilizando JDBC puro ou algum Framework de persistência (tipo Hibernate, Eclipselink, ...)?
GOSTEI 0
Eric Clauber
24/01/2015
Olá pessoal,
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Pode refazer melhor sua pergunta!
Estes insert's que você quer fazer é através da tua aplicação java, certo??
Tuas tabelas no MySql possuem classes e relacionamentos na tua aplicação java??
Esta utilizando JDBC puro ou algum Framework de persistência (tipo Hibernate, Eclipselink, ...)?
Opa amigo as respostas sao...
Sim,
Sim,
e JDBC puro.
GOSTEI 0
Daniel Volpato
24/01/2015
Olá pessoal,
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Estou programando em java e preciso de uma ajudinha no MySql:
Minha dúvida é: Preciso inserir 1 linha de registro na tabela PAI, e varias linha de registro na tabela filha, relacionada com a pai.
Neste caso seria:
TABELA_CABEÇALHO_PEDIDO( uma linha. No caso o pedido, seria auto_increment);
TABELA_ITENS_PEDIDO(para cada linha dos itens do pedido, seria associado com o pedido na tebela pai).
Imaginei que uma Trigger resolva isso!
Aguardo ajuda!
Pode refazer melhor sua pergunta!
Estes insert's que você quer fazer é através da tua aplicação java, certo??
Tuas tabelas no MySql possuem classes e relacionamentos na tua aplicação java??
Esta utilizando JDBC puro ou algum Framework de persistência (tipo Hibernate, Eclipselink, ...)?
Opa amigo as respostas sao...
Sim,
Sim,
e JDBC puro.
Já que é assim:
Acredito que voce tenha uma camada de persistencia(DAO, repositorio, ...).
Voce poderia por exemplo, na tua camada de serviços um método gerarPedido(Pedido p), onde seria implementado a gravaçao do cabecalho do pedido e depois os itens do pedido.
Algo do tipo:
Connection conn = ConnectionFactory.getConnection();
PedidoRepository rep = new PedidoRepository(conn);
rep.gravarPedido(pedido);
for (PedidoItem item : pedido.getItens()) {
rep.gravarItem(item);
}
GOSTEI 0