Insert ou Update

Modelagem

22/11/2007

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


Eldon689

Eldon689

Curtidas 0

Respostas

Leocardoso

Leocardoso

22/11/2007

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


GOSTEI 0
Joao.rafael.ribeiro

Joao.rafael.ribeiro

22/11/2007

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.


GOSTEI 0
POSTAR