[firebase-br] Execute Statement Din?mico

Alisson arsuart em uol.com.br
Qui Maio 17 19:28:05 -03 2007


Eae Moçada...

Pessoal, queria uma ajuda no seguinte...

Estou montando um procedimento onde o usuario informa um texto qualquer. 
Apartir deste texto, quero executar uma select pegando o q foi escrito e 
mais alguma informaçao e colocar em uma variavel para utilizar 
posteriormente...
seria algo assim...

Tabela Textos:

Campo Texto1 contendo -> Lançamento informado conforme data ||:Data|| 
Utilizado por ||User

Dentro da minha procedure eu quero executar algo assim..

Select Texto1
  from textos
Into :VariavelTexto;

Execute Statement 'Select '||:VariavelTexto||' From rdb$Database' into 
:VariavelTextoCompleto;

o q acontece ?

A minha verdadeira intençao seria pegar o texto que o usuario digitou lah na 
tabela textos... pegar todos os Pipes (||) que sao baseados em nomes de 
variaveis que jah tenho na procedure, substituir pelo valor, pegar o texto 
completinho q foi executado no execute statement... e fazer um insert na 
tabela desejada.

Sei q parece loucura, mas ate entao foi a unica forma que consegui pensar em 
deixar o mais dinamico possivel, para o usuario utilizar como quiser a 
descricao e eu apenas alimentar as variaveis com as informaçoes que 
realmente sao necessarias.

Bom, mas quando tento executar o essa linha do execute statement.... 
Acontece o seguinte erro...

Unsuccessful execution caused by an unavailable resource.
Variable type (position 0) in EXECUTE STATEMENT 'Select 'Referente' From 
Rdb$DataBase ;' INTO does not match returned column ty.

OBS: ESTE ERRO SOH ACONTECE QUANDO EU COLOCO NO TEXTO1, Q FOI DIGITADO PELO 
USUARIO ENTRE ASPAS SIMPLES.
Vejam como esta ficando o meu select ali.

Quando eu tiro as Aspas simples... ele dah o erros UNEXPECTED END OF 
COMMAND;

Nao sei se minha forma eh a mais aplicada para este procedimento. Jah 
procurei em todos os cantos no Google.. e nada...

por isso estou tentando a ajuda de vcs....

Uso FB 1.5

Valew Moçada..!!!!

-- 
Alisson R.S.
Global Soft - Desenvolvimento de Sistemas







Mais detalhes sobre a lista de discussão lista