Insert ou Update
22/11/2007
0
[b:b47161215d]Oi pessoal, eu estou com um banco de Dados em Firebird 1.5 com as seguintes tabelas Membros, Enderecos, Funcoes, Dizimos, conjuges.
e estou fazendo um select deste tipo:[/b:b47161215d]
select memb.ID_MEMB, memb.NOME, memb.DATA_NASC, ende.RUA, ende.Numero, ende.BAIRRO, func.DESC_FUNC, conj.NOME_CONJ, conj.DATA_NASC_CONJ, diz.VALOR, diz.DATA_ENTREGA from MEMBROS memb, ENDERECOS ende, DIZIMOS diz, FUNCOES func
where memb.ID_MEMB = memb.ID_MEMB
and memb.ID_MEMB = ende.ID_MEMB
and memb.ID_MEMB = diz.ID_MEMB
and func.ID_MEMB = memb.ID_MEMB
and conj.ID_MEMB = memb.ID_MEMB
[color=red:b47161215d][i:b47161215d]está vindo tudo correto:[/i:b47161215d][/color:b47161215d]
[b:b47161215d]mas como eu faria para criar um Insert com base nesse select ou Update, as tabelas todas tem o Campo ID_MEMB como PK, uso Delphi e DBExpress.[/b:b47161215d]
e estou fazendo um select deste tipo:[/b:b47161215d]
select memb.ID_MEMB, memb.NOME, memb.DATA_NASC, ende.RUA, ende.Numero, ende.BAIRRO, func.DESC_FUNC, conj.NOME_CONJ, conj.DATA_NASC_CONJ, diz.VALOR, diz.DATA_ENTREGA from MEMBROS memb, ENDERECOS ende, DIZIMOS diz, FUNCOES func
where memb.ID_MEMB = memb.ID_MEMB
and memb.ID_MEMB = ende.ID_MEMB
and memb.ID_MEMB = diz.ID_MEMB
and func.ID_MEMB = memb.ID_MEMB
and conj.ID_MEMB = memb.ID_MEMB
[color=red:b47161215d][i:b47161215d]está vindo tudo correto:[/i:b47161215d][/color:b47161215d]
[b:b47161215d]mas como eu faria para criar um Insert com base nesse select ou Update, as tabelas todas tem o Campo ID_MEMB como PK, uso Delphi e DBExpress.[/b:b47161215d]
Eldon689
Curtir tópico
+ 0
Responder
Posts
16/03/2008
Leocardoso
Insert em várias tabelas? Isso me parece caso de stored procedures ou triggers de ´instead of´ caso você transforme sua consulta em uma view.
Sds
Leonardo
Sds
Leonardo
Responder
04/04/2008
Joao.rafael.ribeiro
Você esta querendo gravar dados que serão gavados em várias tabelas, porém todas essas tabelas tem uma chave PK em comum. Você pode modelar da seguinte forma: em uma transação atômica, você deve gravar em uma primeira tabela e com o valor da PK gerado, irá gravar nas outras tabelas.
Responder
Clique aqui para fazer login e interagir na Comunidade :)