Atualização em cascata
Tenho duas tabelas, uma é produto e a outra é grade, todas as duas tem o campo Quantidade, que usa o mesmo dominio.
O que eu quero:
QUando fazer um Update na tabela Grade, verificar se houve alteração na quantidade, caso houve, atualizar a tabela Produto.
O que eu quero:
QUando fazer um Update na tabela Grade, verificar se houve alteração na quantidade, caso houve, atualizar a tabela Produto.
Sistemald
Curtidas 0
Respostas
Afarias
16/08/2005
Use uma Trigger AFTER UPDATE na tabela GRADE para atualizar (update) a tabela PRODUTO.
T+
T+
GOSTEI 0
Sistemald
16/08/2005
tubo ben, fiz aqui a sql, ainda não testei, mas me surgiu uma dúvida, olha só:
No sistema vou fazer um update na tabela Grade, com o seguinte código:
quando eu der o post será executado a Triger, e atualizará a outra tabela.
Minha dúvida é a seguinte:
Se eu der um commit ele salvará tudo?Tanto a tabela grade e a Produto(alterado pela Triger)?
Se eu der um Rollback ele descartará tudo?Tanto a tabela grade e a Produto(alterado pela Triger)?
No sistema vou fazer um update na tabela Grade, com o seguinte código:
tablegrade.edit; tablegradeQuantidade.value:= tablegradeQuantidade.value + valorvendido; tablegrade.post;
quando eu der o post será executado a Triger, e atualizará a outra tabela.
Minha dúvida é a seguinte:
Se eu der um commit ele salvará tudo?Tanto a tabela grade e a Produto(alterado pela Triger)?
Se eu der um Rollback ele descartará tudo?Tanto a tabela grade e a Produto(alterado pela Triger)?
GOSTEI 0
Afarias
16/08/2005
|Se eu der um commit ele salvará tudo?Tanto a tabela grade e a Produto
|(alterado pela Triger)?
sim
|Se eu der um Rollback ele descartará tudo?Tanto a tabela grade e a
|Produto(alterado pela Triger)?
sim
T+
|(alterado pela Triger)?
sim
|Se eu der um Rollback ele descartará tudo?Tanto a tabela grade e a
|Produto(alterado pela Triger)?
sim
T+
GOSTEI 0
Sistemald
16/08/2005
beleza consegui, fazer, valeu pela dica.
SET TERM ^ ; CREATE TRIGGER GRADE_BU_ATUALIZAPRODUTO FOR GRADE ACTIVE BEFORE UPDATE POSITION 0 AS begin UPDATE PRODUTO SET PRQUANTIDADE = PRQUANTIDADE + (new.grquantidade - old.grquantidade) where PRCODIGO = old.grproduto_codigo; end ^ SET TERM ; ^
GOSTEI 0