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

Marcelo Guilherme Tamanini marcelo_tamanini em hotmail.com
Qua Fev 11 11:15:17 -03 2009


Agora está gerando outro erro.
Ele acusa erro no begin transaction e no commit.
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 15, column 5.
COMMIT.

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 45, column 9.
TRANSACTION.

Estou utilizando o IBExpert no caso, e quando estou digitando o comando COMMIT, aparece o comando para completar.
Qual seria o problema então?
Será que eu entendi errado e não existe mesmo o begin, commit e rollback transaction dentro de SPs?
...
BEGIN
  IF ((SELECT COUNT(NumeroSerie) FROM TB_Aparelho WHERE NumeroSerie = :NumeroSerie) = 0) THEN
  BEGIN
  /* erro no begin transaction */
  BEGIN TRANSACTION
  INSERT INTO TB_Aparelho (NumeroSerie, DataColeta, Descricao)
  VALUES (:NumeroSerie, :DataColeta, :Descricao)
  RETURNING CodAparelho
  INTO :Identity;
  COMMIT;
  END
  ELSE
  BEGIN
  EXCEPTION EQUIPAMENTO_EXISTENTE;
  SUSPEND;
  END
END




> From: marcelo_tamanini em hotmail.com
> To: lista em firebase.com.br
> Date: Wed, 11 Feb 2009 10:33:53 -0200
> Subject: Re: [firebase-br] Stored procedure inserção com commit?
> 
> 
> Nossa, achei o erro!
> Esqueci do FROM! rsrs
> 
> 
> 
> > From: marcelo_tamanini em hotmail.com
> > To: lista em firebase.com.br
> > Date: Wed, 11 Feb 2009 10:16:09 -0200
> > Subject: Re: [firebase-br] Stored procedure inserção com commit?
> > 
> > 
> > Assim ele gera o seguinte erro:
> > IF ((SELECT COUNT(NumeroSerie) TB_Aparelho WHERE NumeroSerie = :NumeroSerie) = 0)THEN
> > Invalid token.
> > Dynamic SQL Error.
> > SQL error code = -104.
> > Token unknown - line 7, column 46.
> > WHERE.
> > 
> > Tentei assim:
> > IF (SELECT COUNT(NumeroSerie) TB_Aparelho WHERE (NumeroSerie = :NumeroSerie) = 0)THEN
> > Invalid token.
> > Dynamic SQL Error.
> > SQL error code = -104.
> > Token unknown - line 7, column 7.
> > SELECT.
> > 
> > Além de:
> > IF (SELECT NumeroSerie TB_Aparelho WHERE NumeroSerie = :NumeroSerie) THEN
> > Invalid token.
> > Dynamic SQL Error.
> > SQL error code = -104.
> > Token unknown - line 7, column 7.
> > SELECT.
> > 
> > Se eu tiro essa linha, mesmo assim ele gera erro, talvez, o problema não seja a condição então!
> > 
> > 
> > 
> > 
> > 
> > > Date: Wed, 11 Feb 2009 09:34:06 -0200
> > > From: douglasht em gmail.com
> > > To: lista em firebase.com.br
> > > Subject: Re: [firebase-br]	Stored procedure inserção com commit?
> > > 
> > > 2009/2/11 Marcelo Guilherme Tamanini <marcelo_tamanini em hotmail.com>:
> > > > 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:
> > > >  if (SELECT COUNT(NumeroSerie) TB_Aparelho WHERE NumeroSerie = :NumeroSerie) = 0 then
> > > 
> > > Acho que faltam parênteses:
> > > if ((SELECT COUNT(NumeroSerie) TB_Aparelho WHERE NumeroSerie =
> > > :NumeroSerie) = 0) then
> > > 
> > > hth,
> > > -- 
> > > Douglas Tosi
> > > www.sinatica.com
> > > 
> > > ______________________________________________
> > > 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
> > 
> > _________________________________________________________________
> > Explore the seven wonders of the world
> > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> > ______________________________________________
> > 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
> 
> _________________________________________________________________
> Discover the new Windows Vista
> http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
> ______________________________________________
> 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

_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us


Mais detalhes sobre a lista de discussão lista