[firebase-br] Probelma na Procedure

Carlos Faustino carlos.faustino em lanware.pt
Ter Set 5 06:41:09 -03 2006


Isso resolve o seu problema:

CREATE PROCEDURE EXECUTA_QUERY (
    P_CAMPO VARCHAR(50),
    P_TABELA VARCHAR(50),
    P_WHERE VARCHAR(800))
RETURNS (
    R_RETORNO VARCHAR(30))
AS
DECLARE VARIABLE W_SQL VARCHAR(1000);
begin
 W_SQL =  'SELECT CAST('||:P_CAMPO||' as VARCHAR(30)) FROM '||:P_TABELA||
          ' WHERE '|| :P_WHERE;

  EXECUTE STATEMENT :w_sql INTO :R_RETORNO;
  suspend;
end


e se entao ocorrer o erro "Multiple rows on sigleton select" tem que por um ciclo FOR no EXECUTE STATEMENT assim:

FOR EXECUTE STATEMENT :w_sql INTO :R_RETORNO DO 


Espero ter ajudado!

Carlos Faustino





Mais detalhes sobre a lista de discussão lista