Stored Procedure
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 ??
nao estou conseguindo fazer isso, alguém poderia me ajudar ??
Robson Morais
Curtidas 0
Respostas
Junior Miranda
16/06/2010
Um exemplo bem básico
[]'s
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
GOSTEI 0
Robson Morais
16/06/2010
cara to meio atrapalhado aqui.....
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....
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....
GOSTEI 0
Robson Morais
16/06/2010
Uma ajuda, por favore !
GOSTEI 0
Deivison Melo
16/06/2010
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!!
GOSTEI 0