[firebase-br] to precisando muito de uma ajuda com uma trigger

Ederson R. F. Lima ed.rodrigo em gmail.com
Ter Jun 1 08:19:05 -03 2010


O que você quer que sua Trigger faça!?
Qual a mensagem de erro que você recebe?

Coloque essas informações e será bem mais fácil te ajudar.

Att,

2010/6/1 Reijanio Nunes Ribeiro <rnribeiro em gmail.com>

> a sintaxe é a seguinte
>
> CREATE OR ALTER TRIGGER TRG_STATUS_OS FOR D_SERVICO_OS
> ACTIVE BEFORE UPDATE POSITION 0
> as
> declare variable v_status char(1);
> declare variable codprod varchar(18);
> declare variable qtde numeric(10,2);
> declare variable local char(3);
> declare variable emp integer;
> begin
> codprod = new.codprod;
> qtde = new.qtde;
> local = new.cod_local;
> emp = new.cod_emp;
>
> select STATUS from c_ordemservico
> where codigo = new.cod_os
> into :v_status;
>
> select d.codprod, d.qtde from d_servico_os d
> where d.cod_os = new.cod_os
> into :codprod,:qtde;
>
> if (:v_status = 'A')then
>    update estoque e set
>    e.qtde_reserv = e.qtde_reserv + :qtde,
>    e.saldo = e.qtde_disp - e.qtde_reserv
>    where e.codprod = :codprod and e.cod_local = :local and e.cod_emp =
> :emp;
>
> if (:v_status = 'F')then
>    update estoque e set
>    e.qtde_reserv = e.qtde_reserv - :qtde,
>    e.saldo = e.qtde_disp - e.qtde_reserv
>    where e.codprod = :codprod and e.cod_local = :local and e.cod_emp =
> :emp;
>
> if (:v_status = 'C')then
>    update estoque e set
>    e.qtde_reserv = e.qtde_reserv - :qtde,
>    e.saldo = e.qtde_disp - e.qtde_reserv
>    where e.codprod = :codprod and e.cod_local = :local and e.cod_emp =
> :emp;
>
>    end
>
> na realidade acho que o erro é que nem sempre mexo nos itens na realidade o
> que deve lterar a quantidade reservada é esse v_status que fica na tabela
> c_ordem serviço se algume puder me ajudar a refazer essa trigger ficarei
> grato
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
- Éderson R. F. Lima
-- Engenharia da Computação / 9º Termo
--- Araçatuba/SP



Mais detalhes sobre a lista de discussão lista