[firebase-br] Stored procedure inserção com commit?

Marcelo Guilherme Tamanini marcelo_tamanini em hotmail.com
Qua Fev 11 09:25:19 -03 2009


Bom dia,
pessoal.

Eu fiquei procurando na internet sobre o uso de begin, commit e rollback transaction dentro de uma stored procedure e pelo que entendi, a partir do firebird 2.0, foi incluído esse comandos. E eu estou utilizando a versão 2.1!
No fim, estou tentando montar uma stored procedure para inserção com esses comandos, mas está gerando erro logo na 2ª linha, logo no IF, "parsing error". Será que alguém poderia me ajudar a corrigir?
Segue o código:
BEGIN
  if (SELECT COUNT(NumeroSerie) TB_Aparelho WHERE NumeroSerie = :NumeroSerie) = 0 then       
  BEGIN
  BEGIN TRANSACTION
  INSERT INTO TB_Aparelho (NumeroSerie, DataColeta, Descricao 
  , Senha, Leitura, CorrecaoTemperatura, AlarmeQualidade1)
  VALUES (:NumeroSerie, :DataColeta, :Descricao, :Senha, :Leitura
  , :CorrecaoTemperatura, :AlarmeQualidade1)
  RETURNING CodAparelho
  INTO :Identity;
  COMMIT TRANSACTION
  END
  ELSE
  BEGIN
  EXCEPTION EQUIPAMENTO_EXISTENTE;
  SUSPEND;
  END
END



_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline


Mais detalhes sobre a lista de discussão lista