[firebase-br] O que falta ?
Carlos Fernando von Groll
mameluke em pop.com.br
Qui Fev 3 11:03:45 -03 2005
As variáveis ES, MOVIES e CANCELADA não estão sendo inicializadas.
Então, provavelmente, contém um NULL.
Se esse for o caso, nenhuma condição seria avaliada como verdadeira.
> Sera que ta realmente entrando nos IF's?
> Talvez alguma exception dentro da trigger que ocorre mas nao e revelada.
> As triggers que eu usava pra saldo e movimento quando tinham valores
> incompativeis com os campos a triggers gerava exception e nao fazia nada mas
> eu tb nao sabia disso.
> Relatado meu caso... tenta ver se o seu e parecido. No mais, pelo que vi, ta
> tudo ok na triggers... nao vi nada de estranho ou errado no tocante sintaxe
>
>
> ----- Original Message -----
> From: "Auriston" <auristonlopes em ig.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Thursday, February 03, 2005 9:35 AM
> Subject: [firebase-br] O que falta ?
>
>
> As açoes abaixo quando as executo não surgem efeito, será que falta algo no
> delphi ou no codigo abaixo ?
> sds
> auriston
>
> Obs: DELPHI 7 / PALHETA INTERBASE / FIREBIRD
> /***
> Trigger "Before Update" para "Movprod"
> ***/
> SET TERM ^;
> CREATE TRIGGER MovprodBU FOR Movprod ACTIVE BEFORE UPDATE POSITION 0
> AS
> DECLARE VARIABLE ES Varchar(1);
> DECLARE VARIABLE MOVIES Varchar(1);
> DECLARE VARIABLE CANCELADA Varchar(1);
> BEGIN
> IF ((ES = 'S') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
> UPDATE ESTOQUE SET
> ESTOQUE = (ESTOQUE + OLD.SAIDAS) - NEW.SAIDAS
> WHERE CODIGO = NEW.COD_MAT;
> ELSE IF ((ES = 'E') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
> UPDATE ESTOQUE SET
> ESTOQUE = (ESTOQUE - OLD.ENTRADAS) + NEW.ENTRADAS
> WHERE CODIGO = NEW.COD_MAT;
> END^
> SET TERM ;^
>
> /***
> Trigger "Before Delete" para "Movprod"
> ***/
> SET TERM ^;
> CREATE TRIGGER MovprodBD FOR Movprod ACTIVE BEFORE DELETE POSITION 0
> AS
> DECLARE VARIABLE ES Varchar(1);
> DECLARE VARIABLE MOVIES Varchar(1);
> DECLARE VARIABLE CANCELADA Varchar(1);
> BEGIN
> IF ((ES = 'S') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
> UPDATE ESTOQUE SET
> ESTOQUE = ESTOQUE + OLD.SAIDAS
> WHERE CODIGO = OLD.COD_MAT;
> ELSE IF ((ES = 'E') AND (MOVIES = 'S') AND (CANCELADA = 'N')) THEN
> UPDATE ESTOQUE SET
> ESTOQUE = ESTOQUE - OLD.ENTRADAS
> WHERE CODIGO = OLD.COD_MAT;
> END^
> SET TERM ;^
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
Mais detalhes sobre a lista de discussão lista