[firebase-br] [aps] for execute statement
Saulo Lima
mcikey em uol.com.br
Qua Nov 3 15:46:42 -03 2004
Olá pessoal,
Estou tentando executar uma stored procedure e ele esta se comportando
de maneira estranha, por isso eu elaborei um exemplo e coloquei aqui para
que alguém possa me ajudar, vamos ao caso:
O que eu quero com essa SP é que eu possa trazer um produto específico
ou todos. Quando eu chamando a SP passando um valor diferente de 4 aspas
simples, significa que eu quero um produto específico, caso contrário quero
todos.
Quando eu executo a SP passando o parâmetro diferente de 4 aspas simples
a SP é executada perfeitamente, porém, quando faço o contrário a SP retorna
nada que na minha concepção era pra retornar tudo.
Agora se eu retirar a linha 2 e 3 a SP retorna tudo, o que é que está
errado ? É alguma restrição do comando FOR EXECUTE STATEMENT ?
CREATE PROCEDURE EXEMPLO (EPRO_COD Varchar(7))
returns (PRO_COD Varchar(5),
PRO_DESC Varchar(60))
AS
declare variable LSQL Varchar(500);
begin
/*1*/ LSQL = 'select PRO_COD, PRO_DESC from PRODUTOS ';
/*2*/ if (EPRO_COD <> '') then
/*3*/ LSQL = LSQL || 'where PRO_COD = ' || EPRO_COD;
/*4*/ for execute statement
/*5*/ LSQL
/*6*/ into
/*7*/ :PRO_COD,
/*8*/ :PRO_DESC
/*9*/ do
/*10*/ begin
/*11*/ suspend;
/*12*/ end
end
Grato pela atenção dada
Saulo
Programador
APS Informática
Recife - PE
www.apsinformatica.com.br
Mais detalhes sobre a lista de discussão lista