Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
Qual a melhor maneira de inserir dados em tabelas que estão relacionadas?
Por exemplo:
Tenho uma tabela pedidos e outra tabela detalhesDoPedido que se relacionam atraves do atributo codigoDoPedido.
Estou cadastrando o pedido com a instrução SQL (por exemplo):
INSERT INTO pedidos (codigoDoPedido, nomeDoCliente) VALUES ('pedido1', 'cliente1');
Gostaria de saber como fazer pra inserir na mesma instrução SQL os detalhes do pedido na tabela detalhesDoPedido.
Grato.
Vc deve inserir pedidos e só depois inserir o detalhes do pedido...
A tabela Detalhes do Pedido, possue uma Fk de Pedido?
codigoDoPedido é auto Incremento? _________________* Aristides Vicente de Paula Sun Certified Java Programmer (SCJP 5.0)
MSc Candidate in Computer Science - UFPE
Isso... é auto incremento.
Nao tem como fazer isso na mesma instrução SQL?
Que chato...
Vc deve inserir o PEDIDO, e com isso vc consegue o ID_PEDIDO (auto-incremento e PK).... depois vc seta o ID_PEDIDO que deve ser FK da tabela de DETALHE_DE_PEDIDO... para fazer a referencia correta...
Vlw _________________* Aristides Vicente de Paula Sun Certified Java Programmer (SCJP 5.0)
MSc Candidate in Computer Science - UFPE
Vc deve inserir o PEDIDO, e com isso vc consegue o ID_PEDIDO (auto-incremento e PK).... depois vc seta o ID_PEDIDO que deve ser FK da tabela de DETALHE_DE_PEDIDO... para fazer a referencia correta...
Vlw
O que significa esse PK e FK?
Tem como recuperar esses valores pelo resultset que foi gerado na inserção? ou tenho que pegar do "modelo" utilizado para inserir os dados do PEDIDO?
Vc deve inserir o PEDIDO, e com isso vc consegue o ID_PEDIDO (auto-incremento e PK).... depois vc seta o ID_PEDIDO que deve ser FK da tabela de DETALHE_DE_PEDIDO... para fazer a referencia correta...
Vlw
O que significa esse PK e FK?
Tem como recuperar esses valores pelo resultset que foi gerado na inserção? ou tenho que pegar do "modelo" utilizado para inserir os dados do PEDIDO?
PK -> Chave primaria da tabela, chave única (auto-incremento)
FK -> Chave secundaria da tabela, chave que referencia o registro ao outro...
Onde: idDono (fk) da tabela CARRO, guarda a referencia ou valor do Dono do carro... então pra vc saber que é o Dono do Carro... vc Consulta o carro e verificar a FK da tabela q contém um ID pro Dono do carro....
Certo??
Então vc insere o dono do carro primeiro, com isso vc consegue o valor idDono (pk) - 'q é autoincremento' e depois insere o Carro colocando todos os valores de Carro... Incluindo idDono (fk) que é idDono (pk) da Tabela Dono...
Assim vc associa um carro ao Dono do carro...
Blz _________________* Aristides Vicente de Paula Sun Certified Java Programmer (SCJP 5.0)
MSc Candidate in Computer Science - UFPE
Fuçando num manual de MySQL achei a seguinte possível solução:
[...]
Note que as chaves estrangeiras no SQL não são usadas para ligar tabelas, mas são usadas para verificar a integridade referencial.
Se você deseja obter resultados de múltiplas tabelas de uma instrução SELECT, você pode fazer isto ligando tabelas:
[...]
Aparentemente, é mais simples do que criar duas instruções SQL distintas.
Alguem já utiliza esse tipo de instrução?
osmioPosts:79
Bom dia pessoal.
Qual a melhor maneira de inserir dados em tabelas que estão relacionadas?
Por exemplo:
Tenho uma tabela pedidos e outra tabela detalhesDoPedido que se relacionam atraves do atributo codigoDoPedido.
Estou cadastrando o pedido com a instrução SQL (por exemplo):
INSERT INTO pedidos (codigoDoPedido, nomeDoCliente) VALUES ('pedido1', 'cliente1');
Gostaria de saber como fazer pra inserir na mesma instrução SQL os detalhes do pedido na tabela detalhesDoPedido.
Grato.
AriPosts:243