[firebase-br] SP's

Marcelo mmfirebase em brturbo.com.br
Dom Set 10 13:44:22 -03 2006


Testando

Edvaldo (bol) escreveu:
> CREATE PROCEDURE ATUALIZABANCADOP   AS
> DECLARE VARIABLE VDATA DATE;
> DECLARE VARIABLE VPRODUTO INTEGER;
> DECLARE VARIABLE VENTRADA FLOAT;
> DECLARE VARIABLE VVALORENTRADA DOUBLE PRECISION;
> DECLARE VARIABLE VSAIDA FLOAT;
> DECLARE VARIABLE VVALORSAIDA DOUBLE PRECISION;
> DECLARE VARIABLE VBANCADO FLOAT;
> DECLARE VARIABLE VVALORBANCADO DOUBLE PRECISION;
> DECLARE VARIABLE VBANCADOAUX FLOAT;
> DECLARE VARIABLE VVALORBANCADOAUX DOUBLE PRECISION;
> DECLARE VARIABLE VBANCADOINICIAL FLOAT;
> DECLARE VARIABLE VVALORBANCADOINICIAL DOUBLE PRECISION;
> BEGIN
>       FOR SELECT 
> CODIGO,COALESCE(BANCADOINICIAL,0),COALESCE(VALORBANCADOINICIAL,0)
>             FROM PRODUTO WHERE CODIGO IN (SELECT PRODUTO FROM MOVIMENTACAO 
> WHERE PRODUTO IS NOT NULL)
>             INTO vProduto,
>                  vBancadoInicial,
>                  vValorBancadoInicial
>       DO BEGIN
>               FOR SELECT M.DATA,
>                          COALESCE(M.ENTRADA,0),
>                          COALESCE(M.VALORENTRADA,0),
>                          COALESCE(M.SAIDA,0),
>                          COALESCE(M.VALORSAIDA,0),
>                          COALESCE(M.BANCADO,0),
>                          COALESCE(M.VALORBANCADO,0)
>                     FROM MOVIMENTACAO M
>                     JOIN PRODUTO P ON (M.PRODUTO = P.CODIGO)
>                    WHERE M.PRODUTO =:vPRODUTO
>                      AND M.DATA > 
> COALESCE(P.DATAESTOQUE,CURRENT_TIMESTAMP-1000)
>                    ORDER BY M.DATA
>                     INTO vData,
>                          vEntrada,
>                          vValorEntrada,
>                          vSaida,
>                          vValorSaida,
>                          vBancado,
>                          vValorBancado
>               DO BEGIN
>                        vBancadoAux = :vBancadoInicial + :vEntrada - :vSaida;
>                        vValorBancadoAux = 0;
>                        if (vValorBancadoInicial + vValorEntrada > 0) then
>                        begin
>                             if (vBancadoInicial > 0) then
>                                 vValorBancadoAux = (:vValorBancadoInicial + 
> :vValorEntrada) / (:vBancadoInicial + :vEntrada) * (:vBancadoInicial + 
> :vEntrada - :vSaida);
>                             else
>                                 vValorBancadoAux = (:vValorEntrada / 
> :vEntrada) * (:vBancadoInicial + :vEntrada - :vSaida);
>                        end
>
>                        if (vValorBancadoAux < 0 or vValorBancadoAux is null) 
> then
>                           vValorBancadoAux = 0;
>
>                        UPDATE MOVIMENTACAO
>                           SET BANCADO = :vBancadoAux,
>                               VALORBANCADO = :vValorBancadoAux
>                         WHERE PRODUTO = :vProduto
>                           AND DATA = :vData;
>
>                        vBancadoInicial = vBancadoAux;
>                        vValorBancadoInicial = vValorBancadoAux;
>               END
>               if (vBancadoAux > 0) then
>                   UPDATE PRODUTO SET PRECOCUSTO = cast(:vValorBancadoAux / 
> :vBancadoAux * 100 as integer)/100,
>                          ESTOQUE = :vBancadoAux
>                    WHERE CODIGO =:vProduto;
>               else
>                   UPDATE PRODUTO SET PRECOCUSTO = 0,
>                          ESTOQUE = :vBancadoAux
>                    WHERE CODIGO =:vProduto;
>               WHEN ANY DO
>               BEGIN
>                  INSERT INTO ERRO_LOG (CODIGOERRO,MENSAGEM) VALUES 
> (SQLCODE,CAST(:VPRODUTO AS VARCHAR(20)));
>               END
>       END
>
> END
>
> ----- Original Message ----- 
> From: "Cleiton Maciel Reis da Silva" <cleiton.maciel em yahoo.com.br>
> To: <lista em firebase.com.br>
> Sent: Saturday, September 09, 2006 3:46 PM
> Subject: [firebase-br] SP's
>
>
> Gostaria de usar em minha aplicacao Stored  Procedures
>  para
>  Insert, Updade, Delete, Select,
>
>  alguem por acaso tem algum exemplo de fontes, ou  links
>  que possam me ajudar a utilizar esses  comandos
>  pq os que ja vi nao me ajudaram
>
>  Qro saber como faco um insert usando o SP, Updates  etc,
>
>  se alguem tiver algum exeplo facil pra mim indicar  ficarei muito Grato,
>
>  Té mais colegas
>
>
> ---------------------------------
>  Yahoo! Search
>  Música para ver e ouvir: You're Beautiful, do James Blunt
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>   






Mais detalhes sobre a lista de discussão lista