Fórum Trigger que insere ou atualiza dados em outra tabela. Pode? #39675

24/10/2003

0

Bom dia galera,

preciso criar uma trigger, para atualização de estoque entre setores que ao ser disparada precisa :

1) detectar se os setores de origem e destino, podem adicionar ou baixar o estoque . Isto feito através dos campos FbaixaEst e FentraEst

2) Ao detectar as opções de cada setor (origem e destino), aplicar a operação(entrada ou saída) na tabela Estoque.

Agora seguem as dúvidas.

Como fazer para recuperar estas informações (Fbaixaest e Fentraest) da tabela Setores dentro de um trigger? E onde Armazená-las? Dentro de uma Variável? Como?

Já tentei
select Fentraest,Fbaixaest
into :Org_entra,Org_saida
from setores
Where setores.codsetor = new.codsetorg;

E dá unknown identifier ´into´

E a pior:

Na segunda ação a trigger deve atualizar a tabela de estoque, adicionando ou subtraindo a quantidade movimentada. Como irei saber se
o produto que estou movimentanto existe no estoque para poder atualizá-lo? Pode ser que seja a primeira vez que o produto esteja entrando no estoque. Como vou detectar isto?

Obrigado a todos


Aledeol

Aledeol

Responder

Posts

24/10/2003

Afarias

|select Fentraest,Fbaixaest into :Org_entra,Org_saida
|from setores Where setores.codsetor = new.codsetorg;

o INTO deve vir sempre no FINAL do SQL, o correto então seria::

select fentraest, fbaixaest from setores
where codsetor = new.codsetorg
into :org_entra, :org_saida;


|Na segunda ação a trigger deve atualizar a tabela de estoque,
|adicionando ou subtraindo a quantidade movimentada. Como irei saber
|se o produto que estou movimentanto existe no estoque para poder {...}

if (exists(select 1 from produtos where codigo = new.codproduto)) then
update {...} ;
else
insert {...} ;


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar