Fórum Insert com 3 tabelas #317756
29/03/2006
0
Vendas, Mat_Vendas, Conta_Corrente
Preciso pegar os seguintes campos:
[b:d00ebf400f]Tabela Vendas[/b:d00ebf400f]
id_cliente
data_lancamento
tipo_pagamento
[b:d00ebf400f]Tabela Mat_Vendas[/b:d00ebf400f]
vl_lancamento
id_item
E jogar na tabela [b:d00ebf400f]Conta_Corrente[/b:d00ebf400f]
Qual é a melhor maneira de se fazer isso?
Obs: Queria que após incluir uma venda na tabela mat_vendas ele já pegasse estas informações e fizesse a inserção na tabela conta_corrente!
Como posso fazer isso?
Alguem pode me explicar?
Grato,
Ricieri.
Ricieri
Curtir tópico
+ 0Posts
29/03/2006
Ricieri
to pensando em criar uma procedure e uma trigger after insert...
A procedure eu tava criando, mas não consegui sair disso..
alguem poderia me ajudar:
[b:d6849f8d2c]CREATE PROCEDURE ATUALIZAMOVIMENTO (
idencc INTEGER,
QUANTIDADE INTEGER)
AS
begin
insert into cc (vl_lancamento, data_lancamento, tipo_movimentacao, id_cliente, id_item)
values (:vl_total, :dt_venda, :id_tipo_pagto, :id_cliente, :id_item)
where id_cc = :idencc;
end[/b:d6849f8d2c]
Eu não sei muito o que fazer, por exemplo, eu não sei como passar os parametros e etc..
Alguem me ajuda.
valeu.
Gostei + 0
30/03/2006
Thomaz_prg
Gostei + 0
30/03/2006
Ricieri
Eu nao manjo :(
Gostei + 0
30/03/2006
Renato.pavan
Colega,
Passa a DDL das 3 tabelas envolvidas para podermos montar um exermplo pra vc.
[]´s
Renato
Gostei + 0
30/03/2006
Ricieri
Obs: Não tenho a DDL aqui, to no trampo, mas montei do jeito que ta no banco:
O que pretendo fazer é o seguinte:
Como a tabela vendas e mat_vendas, estão relacionadas, a tabela mat_vendas exibe apenas os materiais que são relacionados àquela venda.
Gostei + 0
30/03/2006
Ricieri
Lá vai:
Obs: Não tenho a DDL aqui, to no trampo, mas montei do jeito que ta no banco:
O que pretendo fazer é o seguinte:
Como a tabela vendas e mat_vendas, estão relacionadas, a tabela mat_vendas exibe apenas os materiais que são relacionados àquela venda.
Gostei + 0
30/03/2006
Emerson Nascimento
CREATE TRIGGER MAT_INSERE_CC FOR MAT_VENDAS ACTIVE AFTER INSERT POSITION 0 AS BEGIN insert into CC (id_venda, id_mat_vendas, id_item, id_cliente, data_venda, tipo_pagamento, valor_venda, quantidade) select ven.id_venda, mat.id_mat_vendas, mat.id_item, ven.id_cliente, ven.dt_venda, ven.id_tipo_pagamento, mat.valor_item, mat.quantidade from vendas ven inner join mat_vendas mat on (mat.id_venda = ven.id_venda) where mat.id_venda = new.id_venda and mat.id_mat_vendas = new.id_mat_vendas END
nessa trigger eu não estou preenchendo o ID_CC da tabela conta corrente pois creio que isso já seja feito por uma dupla trigger/generator.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)