[firebase-br] Dúvida em Sotored Procedure
Paulo Henrique Mendes Martin
paulo.mendes87 em gmail.com
Qui Maio 10 12:52:27 -03 2007
Bom Dia Colegas.
Eu estou com uma dúvida, o seguinte fragmento da Stored Procedure
atualiza_movimentacao:
Begin
if (i_type = 'C') then
begin
v_qtde = v_qtde + i_qtde;
end
if (i_type = 'R') then
begin
if (v_qtde < i_qtde) then
begin
err = 'E1';
suspend;
end
v_qtde = v_qtde - i_qtde;
end
instert into movimentacao (data, cod_cart, qtde, tipo) values (:i_data,
:i_cod_cart, :i_qtde, :i_type);
update cartuchos set quantidade = :v_qtde where cod = :i_cod_cart;
suspend;
Isso é simples, a sp tem como parametro a data, a quantidade e o codigo
produto para ser adiconado ao estoque, assim eu gravo um registro
na tabela de movimentação e atualizo a quantidade para mais ou para menos
dependendo do caso. Mas a minha dúvida é, quando se inicia
isso, pode-se dizer que começamos uma transação? Pois caso seja, precisaria
ter um commit work, mas dessa maneira a sp não compila.
Então, quando chamo a sp pela aplicação como ficaria o controle da
transação?
Estou usando Fb 2.1 e VB 6 e acessando via ADODB 2.7.
Mais detalhes sobre a lista de discussão lista