Trigger que insere ou atualiza dados em outra tabela. Pode?
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
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
Curtidas 0
Respostas
Afarias
24/10/2003
|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+
|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+
GOSTEI 0