[firebase-br] Apanhando do SQL

GreG taliezinbr em yahoo.com.br
Qui Fev 10 10:05:09 -03 2005


tente assim:

CREATE TRIGGER MovprodBI FOR Movprod ACTIVE BEFORE
INSERT POSITION 0
AS
declare variable ES Varchar(1);
declare variable MOVIES Varchar(1);
declare variable CANCELADA Varchar(1);
BEGIN
    Select ES,MOVIES,CANCELADA from MOVPROD 
    where COD_MAT = NEW.COD_MAT 
    INTO :ES, :MOVIES, :CANCELADA;
    IF ((ES = 'S') AND (MOVIES = 'S') AND 
        (CANCELADA = 'N')) THEN
      BEGIN
        UPDATE ESTOQUE SET 
        ESTOQUE = (ESTOQUE - NEW.SAIDAS)
        WHERE CODIGO = NEW.COD_MAT;
      END
    ELSE 
      IF ((ES = 'E') AND (MOVIES = 'S') AND 
          (CANCELADA = 'N')) THEN
        BEGIN
          UPDATE ESTOQUE SET
          ESTOQUE = (ESTOQUE + NEW.ENTRADAS)
          WHERE CODIGO = NEW.COD_MAT;
        END
END^






 --- Auriston <auristonlopes em ig.com.br> escreveu: 
> Me desculpem postar de novo esta pergunta, mas é que
> esta mordendo com força o assunto.
> O meu código abaixo não está funcionando.
> Convenções:
> MOVPROD = arquivo que grava o itens do pedido
> COD_MAT = codigo do produto que foi digitado no
> pedido
> ES = Informa se sera uma ENTRADA OU SAIDA
> MOVIES = Informa se o lancamento ira movimentar o
> estoque
> CANCELADA = informa se o item foi cancelado ou nao
> SAIDA = quantidade que saiu no pedido
> ENTRADA = quantidade que entrou no pedido
> 
> ESTOQUE = Arquivo de itens (Lista de produtos)
> ESTOQUE = campo que contem a quantidade em estoque
> do item
> CODIGO = codigo do produto na lista de produtos
> 
> ----> Inclusao de Item no arquivo MOVPROD onde:
> CREATE TRIGGER MovprodBI FOR Movprod ACTIVE BEFORE
> INSERT POSITION 0
> AS
> declare variable ES Varchar(1);
> declare variable MOVIES Varchar(1);
> declare variable CANCELADA Varchar(1);
> BEGIN
>     Select ES,MOVIES,CANCELADA from MOVPROD where
> COD_MAT = NEW.COD_MAT INTO :ES, :MOVIES, :CANCELADA;
>     IF ((ES = 'S') AND (MOVIES = 'S') AND (CANCELADA
> = 'N')) THEN
>       UPDATE ESTOQUE SET 
>         ESTOQUE = (ESTOQUE - NEW.SAIDAS)
>         WHERE CODIGO = NEW.COD_MAT;
>     ELSE IF ((ES = 'E') AND (MOVIES = 'S') AND
> (CANCELADA = 'N')) THEN
>       UPDATE ESTOQUE SET
>         ESTOQUE = (ESTOQUE + NEW.ENTRADAS)
>         WHERE CODIGO = NEW.COD_MAT;
> END^
> 
> alguem por favor me ajude, pois estou emperrado com
> esta movimentacao de estoque.
> 
> sds
> auriston.
> ______________________________________________
> 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
>  


	
	
		
_______________________________________________________ 
Yahoo! Acesso Grátis - Instale o discador do Yahoo! agora. http://br.acesso.yahoo.com/ - Internet rápida e grátis




Mais detalhes sobre a lista de discussão lista