[firebase-br] Ajuda com Stored Procedure!

RedDevil reddevil em reddevil.eti.br
Ter Nov 23 11:13:59 -03 2004


ola Ricardo.
tudo bem contigo?
sincerely, espero que sim.

nao eh possivel dar commit ou rollback dentro de uma SP, exceto quando ocorre um exception, quando entao acontece algo semelhante a um "rollback automatico", ou seja todas as alteraçoes sao desfeitas...

mas, normalmente, voce deve esperar que o controle retorne para a aplicaçao, quando entao ou voce aproveita a transaçao para fazer mais alguma coisa ou entao da um commit e finaliza ela, okeyz?


[]s
força sempre.
ate +++

Luiz "RedDevil" Stefanski
=======><=========
====> Delphi 4 <=====
====> powered <=====
======> by <=======
===> IBObjects <=====
=======><=========
more in:
http://www.RedDevil.eti.br (home)
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630 (instalaçao)
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165 ("tips")



----- Original Message ----- 
From: "Ricardo" <ricardo em sccutta.com.br>
To: "FireBase Br" <lista em firebase.com.br>
Sent: Tuesday, November 23, 2004 9:34 AM
Subject: [firebase-br] Ajuda com Stored Procedure!


Alguém sabe como eu posso dar um Commit dentro de uma Procedure sem ter que ficar comitando por fora?

A minha Procedure:

SET TERM ^ ;

CREATE PROCEDURE ATUA_ESTOQUE (
    IDPEDIDO INTEGER,
    TIPO CHAR(1) CHARACTER SET NONE)
AS
DECLARE VARIABLE VIDPROD CHAR(14) CHARACTER SET NONE;
DECLARE VARIABLE VPQTDE NUMERIC(15,3);
begin
  /*Tratamento quando for requição*/
  if (Tipo = 'R') then
  begin
    For
      Select i.idproduto, i.qtde
        From ItemPedido i
        where i.idpedido = :idpedido
        into :vidprod, :vpqtde do
    begin
      Update produto p set p.est_atual = (p.est_atual - :vpqtde) where (p.codigo = :vidprod);
    end/*For*/
    exit;
  end/*if (Tipo = 'R') then*/
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


Mais detalhes sobre a lista de discussão lista