[firebase-br] Trigger com select
copano.ricardo em gmail.com
copano.ricardo em gmail.com
Qua Out 25 19:00:43 -03 2006
Amigos
Estou com uma dificuldade em dobro, aprendendo a trabalhar com triggers, e um select embutido....
a questão é a seguinte:
Tenho as seguintes tabelas, e preciso atualizar a tabela ESTOQUE com dados da tabela ITENS por meio de uma TRIGGER que disparada da tabela MOVIMENTO_E_DET
Relação das tabelas:
ITENS, codigo, idfabricante, modelo, cor, tamanho, griffe
MOVIMENTO_E (notas de entrada o salida) idmov_e, numdoc, data, idcliente, idfornec, tipo_mov, usuario, altera, observação, idfuncionario, status
MOVIMENTO_E_DET (itens da nova de entrada o salida) codigo, idmov_e, id_item, pcusto, pvenda, qtde, pmin, status
ESTOQUE (registro del movimiento de estoque) codigo, modelo, cor, tamanho, idgrife, idfabricante, qtde, tipomov, idnotavenda, idnotacompra, data
A minha dificuldade é: registrar na tabela ESTOQUE os valores que tenho na tabela ITENS, segundo o campo chave ID_ITEM - disparando a trigger na tabela MOVIMENTO_E_DET :
AFTER INSERT de MOVIMENTO_E_DET ao lançar os itens na nota de venda ou compra, status PENDIENTE (0)
e....
AFTTER UPDATE de MOVIMENTO_E_DET que vai atualizar no caixa, ao efetuar o pagamento.
Tentei algo assim:
(trigger na MOVIMENTO_E_DET) - AFTER UPDATE
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AS
begin
insert into estoque
(modelo, cor, tamanho, idgrife, idfabricante, qtde, tipomov, idnotavenda, data)
values
select i.modelo,i.cor,i.tamanho, i.idgrife, i.idfabricante, old.qtde, m.tipomov, m.idnota, m.data
from itens i
inner join movimento_e m on (m.idmov_e=old.idmov_e)
where i.codigo=old.id_item);
end
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Não estou acertando a sintaxis....
Em aspectos gerais, como estrutura de estoque, estou no caminho correto ?
Muito obrigado!
Ricardo Copano
Mais detalhes sobre a lista de discussão lista