RES: [firebase-br] StoredProcedure com Parametros

Jony jonyridel em yahoo.com.br
Ter Ago 16 09:17:56 -03 2005


Tente assim,

CREATE PROCEDURE SPR_RETORNA_EMPRESA
(
  prmUF VARCHAR(2)
)
RETURNS(
  CODIGO INTEGER,
  NOME VARCHAR(100),
  LOCALIDADE VARCHAR(50),
  UF VARCHAR(2)
)
AS
DECLARE VARIABLE VSQL VARCHAR(500);
BEGIN
  VSQL = ' SELECT CODIGO, NOME, LOCALIDADE, UF FROM AUDIT_EMPRESA';

  IF (:prmUF <> '') then
    VSQL = VSQL || ' where uf = '||''''||:prmUF||'''';

   VSQL = VSQL || ' ORDER BY NOME';

  FOR execute statement :VSQL
  INTO :CODIGO, :NOME, :LOCALIDADE, :UF
DO
SUSPEND;
END


Espero ter ajudado,
----------------------------
Jony Ridel 
Grupo Êxito - Salvador - BA
----------------------------


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Frederico Fernandes
Enviada em: terça-feira, 16 de agosto de 2005 08:39
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] StoredProcedure com Parametros


Valeu,
   Mas eu gostaria de verificar se o parametro "prmUF" nao esta vazio. 
Porque se ele estiver vazio nao vou colocar o filtro. Entendeu ??? Ou seja ,

teria como colocar por exemplo um "If" para checar se esta em branco e se 
nao estiver colocar a linha: "where uf = :prmUF "

>From: RedDevil <reddevil em reddevil.eti.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: FireBase <lista em firebase.com.br>
>Subject: Re: [firebase-br] StoredProcedure com Parametros
>Date: Mon, 15 Aug 2005 18:04:53 -0300
>
>ola Frederico,
>
>
>tenta assim:
>
>
>CREATE PROCEDURE SPR_RETORNA_EMPRESA
>(
>  prmUF VARCHAR(2)
>)
>RETURNS(
>  CODIGO INTEGER,
>  NOME VARCHAR(100),
>  LOCALIDADE VARCHAR(50),
>  UF VARCHAR(2)
>)
>AS
>BEGIN
>  FOR SELECT CODIGO, NOME, LOCALIDADE, UF
>  FROM AUDIT_EMPRESA
>  where uf = :prmUF  /* esta linha vai fazer o "filtro" */
>  ORDER BY NOME
>  INTO :CODIGO, :NOME, :LOCALIDADE, :UF
>DO
>SUSPEND;
>END
>
>
>[]s
>força sempre.
>ate +++
>
>--
>Luiz "RedDevil" Stefanski
>http://www.RedDevil.eti.br - Delphi 4 Powered by IBObjects
>exemplos e dicas sobre o IBObjects:
>http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
>compilaçao/instalaçao do IBObjects sabor BPG:
>http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630
>
>
>
>Words By Frederico Fernandes:
>>Boa tarde Pessoal,
>>
>>  Tenho a seguinte StoreProcedure:
>>
>>CREATE PROCEDURE SPR_RETORNA_EMPRESA
>>(
>>  prmUF VARCHAR(2)
>>)
>>RETURNS(
>>  CODIGO INTEGER,
>>  NOME VARCHAR(100),
>>  LOCALIDADE VARCHAR(50),
>>  UF VARCHAR(2)
>>)
>>AS
>>BEGIN
>>  FOR
>>  SELECT CODIGO, NOME, LOCALIDADE, UF
>>  FROM AUDIT_EMPRESA ORDER BY NOME
>>  INTO :CODIGO, :NOME, :LOCALIDADE, :UF
>>DO
>>SUSPEND;
>>END
>>
>>
>>Estou querendo usar filtrosnesta stored procedure. Como por exemplo se eu 
>>passar a UF no parametro ele adicionar mais uma linha no Select. A linha 
>>então seria: "WHERE UF = :prmUF" ?? Como que eu faria isso ??? Colocaria: 
>>If (prmUF <> '') ???
>>
>>Obrigado
>>
>>
>>
>>
>>------------------------------------------------------------------------
>>
>>______________________________________________
>>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>Para editar sua configuração na lista, use o endereço 
>>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço 
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa




-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.9/72 - Release Date: 14/8/2005
 
  

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.338 / Virus Database: 267.10.9/72 - Release Date: 14/8/2005
 


	
	
		
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. 
Instale o discador agora! http://br.acesso.yahoo.com/





Mais detalhes sobre a lista de discussão lista