[firebase-br] Stored procedure que retorna o ID após inserir

Marcelo Guilherme Tamanini marcelo_tamanini em hotmail.com
Ter Fev 10 15:30:32 -03 2009


Ok, fiz aqui e deu certo.

Mas tem como pela procedure retornar um SQLCODE quando acontecer qualquer tipo de erro? Utilizando ou não exception?
Assim como eu faço no SQL SERVER:
SELECT ERROR_NUMBER();




> Date: Tue, 10 Feb 2009 10:05:17 -0200
> From: douglasht em gmail.com
> To: lista em firebase.com.br
> Subject: Re: [firebase-br]	Stored procedure que retorna o ID após inserir
> 
> 2009/2/10 Marcelo Guilherme Tamanini <marcelo_tamanini em hotmail.com>:
> > E como ficaria o select para pegar o novo ID inserido, logo após o insert:
> 
> Você precisa de uma variável de saída:
> create procedure myProc
> returns (identity integer)
> ...
> Depois você usa o "insert returning".
> Assumindo que o nome do campo da chave primária é "id" e o parâmetro
> de saída é "identity":
> 
> insert into tb_aparelho(campo) values (valor) returning id into :identity
> 
> > E caso ocorra algum erro, como não conseguir inserir, pelo fato de já existir um mesmo registro, colocaria mais um BEGIN e END, logo após o select acima?
> > Ficando:
> > BEGIN
> > WHEN SQLCODE -830 DO
> > EXCEPTION cadastro_existente;
> > END
> > SUSPEND;
> > END
> 
> Não lembro de cabeça se o código para violação de chave primária é
> -830. Mas a sintaxe parece correta.
> 
> 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

_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE


Mais detalhes sobre a lista de discussão lista