[firebase-br] Stored procedure inserção com commit?
Daniel Sonda
daniel em mhnet.com.br
Qua Fev 11 09:33:38 -03 2009
Tente assim:
if exists(SELECT NumeroSerie FROM TB_Aparelho WHERE NumeroSerie = :NumeroSerie) then
begin
...
end
Att.
Daniel Sonda
www.h2jsolucoes.com.br
Marcelo Guilherme Tamanini escreveu:
> 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
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
Mais detalhes sobre a lista de discussão lista