[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