Fórum Stored Procedure #379593

16/06/2010

0

Bom pessoal, utilizo o Firebird e ainda nao trabalhei com StoreProcedure nele, então eu queria fazer um Stored Procedure onde vou colocar alguns filtros de entrada...ai uns de retornos.....mas os filtros de entrada nao tinha q ser obrigatorio....tipo se eu nao colocar nada ele vai buscar tudo daqle filtro!


nao estou conseguindo fazer isso, alguém poderia me ajudar ??
Robson Morais

Robson Morais

Responder

Posts

16/06/2010

Junior Miranda

Um exemplo bem básico
SQLTEXT -> Declarado como variavel de varchar... um tamanho que comporte 
a select
PCODSETOR, PCODGRUPO, PCODMARCA  são parametros de entrada
campo1, campo2, campo3 sao parametros de saida

no delphi voce chama... ."Select * from ProcedureName(PCODSETOR, 
PCODGRUPO, PCODMARCA)"

SQLTEXT = "select campo1,campo2,campo3 from produtos "
IF (PCODSETOR > 0) then
   SQLTEXT = SQLTEXT||" where codsetor = "||pcodsetor
else IF (PCODGRUPO > 0) then
   SQLTEXT = SQLTEXT||" where CODGRUPO= "||PCODGRUPO
else IF (PCODMARCA > 0) then
   SQLTEXT = SQLTEXT||" where CODMARCA= "||PCODMARCA

  for execute statement sqltext
       into :campo1,campo2,campo3
do
begin
   suspend;
end



[]'s
Responder

Gostei + 0

16/06/2010

Robson Morais

cara to meio atrapalhado aqui.....



CREATE PROCEDURE CONSULTACEP (
    cBai varchar(100),
    cCid varchar(200),
    cCep varchar(8) )
returns (
    Bairro varchar(100),
    Cidade varchar(200),
    Cep varchar(8))
as
declare variable SQLTEXT varchar (300);
BEGIN

   SQLTEXT =' Select B.Bairro, B.Codigo, C.Cidade, C.Codigo, C.CodBairro, C.Cep
       From adm_cad_bairro b, adm_cad_cidade c
       Where B.Codigo=C.CodBairro'





me ajuda a terminar....

entao...o cBai, cCid, cCep são os filtros q podem ter.....mas eles tbem podem fazer o filtro junto ou nao....posso filtrar o cBai com o cCid e ai vai....



Responder

Gostei + 0

17/06/2010

Robson Morais

Uma ajuda, por favore !
Responder

Gostei + 0

17/06/2010

Deivison Melo

Dessa forma que você está mondando a query em uma variável terá que utilizar o comando: Execute Statemen para maiores informações pesquise no google sobre: execute statement firebird   Qualquer coisa estou á disposição!!    
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar