[firebase-br] [Stored Procedure] - Sql dinâmico - Erro de sintaxe
Jader Ricardo
jader em caramuru.com
Ter Jul 5 13:04:28 -03 2005
Boa tarde amigos !
Ainda não consegui fazer esta procedure funcionar, aparece este erro "Column
Unknown Jose" ao tentar passar apenas o parametro :PENOME, alguém poderia me
ajudar ?
BEGIN
/* Iniciando variáveis */
STRSQL = 'SELECT CODIGO, NOME, CIDADE FROM CLIENTES WHERE ';
CONT = 0;
/* Testando o primeiro atributo */
IF (:PECODIGO IS NOT NULL) THEN
BEGIN
STRSQL = STRSQL ||'CODIGO = ' || :PECODIGO;
CONT = 1;
END
/* Testando o segundo atributo
O número um serve para indicar ser vou ter que usar um AND */
IF ((:CONT = 1) AND (:PENOME IS NOT NULL)) THEN
BEGIN
STRSQL = STRSQL || 'AND NOME = ' || :PENOME;
CONT = 1;
END
ELSE
BEGIN
IF (:PENOME IS NOT NULL) THEN
BEGIN
STRSQL = STRSQL || 'NOME = ' || :PENOME;
CONT = 1;
END
END
/* Testando o terceiro atributo
O número um serve para indicar ser vou ter que usar um AND */
IF ((:CONT = 1) AND (:PECIDADE IS NOT NULL)) THEN
BEGIN
STRSQL = STRSQL || 'AND CIDADE = ' || :PECIDADE;
CONT = 1;
END
ELSE
BEGIN
IF (:PECIDADE IS NOT NULL) THEN
BEGIN
STRSQL = STRSQL || 'CIDADE = ' || :PECIDADE;
END
END
/* Executar o select */
FOR EXECUTE STATEMENT :STRSQL
INTO :PSCODIGO, :PSNOME, :PSCIDADE
DO
BEGIN
SUSPEND;
END
END
____________
Jader Ricardo
Mais detalhes sobre a lista de discussão lista