[firebase-br] Stored Procedure - Erro quando n?o acho o codigo certo
Alessandro Lúcio Cordeiro da Silva
alecordeirosilva em yahoo.com.br
Sex Jun 2 15:35:39 -03 2006
Osvaldo,
Se não termos retorna resulta (no result set) da query do cursor, o firebird nem entrara dentro do laço for, então coloque o teste se é nulo fora do laço, o rs_codigo estara nulo por não ter recebido nenhum valor. Blz!!
Osvaldo <cslinf em uol.com.br> escreveu:
Na SP abaixo eu coloquei que quando não fosse achado um valor no SELECT, no
lugar de NULL a SP retornaria Zero, mas não esta funcionando, voces poderiam
me ajudar ?
Osvaldo
SET TERM ^ ;
CREATE PROCEDURE SP_CODCHAR (
SP_TABELA VARCHAR(50),
SP_CAMPO VARCHAR(50),
SP_RESULT VARCHAR(50),
SP_DESCR VARCHAR(50))
RETURNS (
RS_CODIGO CHAR(2))
AS
DECLARE VARIABLE SSQL VARCHAR(200);
BEGIN
/* Montando a String para SQL */
sSQL = 'SELECT ' ||
:SP_RESULT ||
' FROM ' || :SP_TABELA ||
' WHERE ' ||
:SP_CAMPO || '=' || '''' || :SP_DESCR || '''';
FOR
/* Executando a SQL */
EXECUTE STATEMENT sSQL
/* Obtendo os Campos e Valores retornados pela Consulta */
INTO :RS_CODIGO
DO
IF(rs_codigo IS NULL) THEN
RS_CODIGO=0;
SUSPEND;
END^
SET TERM ; ^
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
Mais detalhes sobre a lista de discussão lista