if dentro da pesquisa
Bem galera e o seguinte estou fazendo um procedure at ae td ok porem tenho que verificar se tem um determinado parametro ex
procedure....
...
..
select ....
queri colocar aqui
if paret=1 then
where else
where...
pois hoje tenho que criar varias procedures para isso e nao consigo reaproveita...
helpppppppppp...........
procedure....
...
..
select ....
queri colocar aqui
if paret=1 then
where else
where...
pois hoje tenho que criar varias procedures para isso e nao consigo reaproveita...
helpppppppppp...........
Sremulador
Curtidas 0
Respostas
Sremulador
06/02/2006
help...
GOSTEI 0
Romulocpd
06/02/2006
Acho que no FB 2.0 vai dar para colocar valor default para os parametros.
Dai eu faria assim:
CREATE PROCEDURE SP_TESTE (PCODIGO: INTEGER, PNOME: VARCHAR(30), PTELEFONE: VARCHAR(30) = ´SEM TELEFONE´)
Dai internamente vc poderia verificar. Eu fiz mesclando FB com SQL Server, mas a idéia é esta. No meu caso digamos que tenho uma stored para cadastrar produto. Se o parametro PFORNECEDOR vier zero entao sei que nao foi passado o fornecedor
Dai eu faria assim:
CREATE PROCEDURE SP_TESTE (PCODIGO: INTEGER, PNOME: VARCHAR(30), PTELEFONE: VARCHAR(30) = ´SEM TELEFONE´)
Dai internamente vc poderia verificar. Eu fiz mesclando FB com SQL Server, mas a idéia é esta. No meu caso digamos que tenho uma stored para cadastrar produto. Se o parametro PFORNECEDOR vier zero entao sei que nao foi passado o fornecedor
GOSTEI 0
Emerson Nascimento
06/02/2006
não dá pra fazer algo assim?
select .... from .... where (paret = 1 and CONDICOES PARA ESSE CASO) or (paret <> 1 and CONDICOES PARA ESSE OUTRO CASO)
GOSTEI 0
Sremulador
06/02/2006
nao consigo desta maneira, ja tentei de tudo, e muito complicado...
GOSTEI 0
Emerson Nascimento
06/02/2006
nos dê um exemplo mais preciso.
GOSTEI 0
Sremulador
06/02/2006
tipo assim se o parametro = 1 entao ele processa o cod com um tipo de where caso outro where seja avaliado... isso dentro de um select...
GOSTEI 0
Rodolpho123
06/02/2006
Vc não pode reescrever o seu select? Ex: se Param = 1 then [b:da7c66b0db]select where 1[/b:da7c66b0db], else [b:da7c66b0db]select where 2[/b:da7c66b0db]?
GOSTEI 0
Sremulador
06/02/2006
hoje eu utilizo desta maneira porem a procedure fica gigante eu quero minimizar isso...
GOSTEI 0
Emerson Nascimento
06/02/2006
você pode fazer uso de [b:c4e43d15e9]execute statement[/b:c4e43d15e9] (FB 1.5) ou fazer da forma que eu havia mostrado antes...
GOSTEI 0