[firebase-br] select com campos dinâmicos

Rodrigo A. de Freitas rodrigo em solucoeseinformatica.com.br
Qui Dez 28 00:40:23 -03 2006


Olá pessoal!

Estou com uma dúvida: Eu preciso fazer um select dentro de uma Stored
Procedure, informando as colunas dinamicamente (como na época do bom e
velho clipper, utilizando macros de substituição). Algo assim:

CREATE PROCEDURE TESTE
AS
   DECLARE VARIABLE CAMPO VARCHAR(30);
   DECLARE VARIABLE TABELA VARCHAR(30);

BEGIN
      FOR
            SELECT CAMPO, TABELA FROM INDICE
            INTO :CAMPO, :TABELA
      DO
            SELECT &CAMPO& FROM &TABELA%
            INTO :CONTEUDO

END

Eu sei que dá pra contornar o problema usando uma diretiva execute
statement e montando uma string com um select, mas, a menos que minha
mente esteja me enganando (é o sono por trabalhar madrugada adentro,
hehehe), eu vi algo similar a construção acima em algum release notes do
Firebird.

É possível fazer isso da maneira acima ou só dá pra fazer usando o execute
statement ?? Se sim, a partir de qual versão do FB esse recurso está
disponível ?

[]'s

Rodrigo A. de Freitas
Análise & Desenvolvimento

Soluções & Informática








Mais detalhes sobre a lista de discussão lista