Array
(
)

where dinamico na store procedure

Acacio
   - 13 fev 2006

Esto criando uma store procedure com alguns parametros que não são obrigatórios. Alguém sabe como passar estes parametros somente se não forem nulos na condição do select dentro da procedure.

Exemplo
alter procedure proc Texte(
Campo1 integer,
campo2 integer)
as
begin
for select * from Tabela1
where
if campo1 > 0 then
codcli = :campo1;
if campo2 > 0 then
and codfor = :campo2
do
begin
//..
end;
Isso eu não consegui fazer ele me da um erro.
Se alguém souber.


Motta
   - 13 fev 2006

Tente algo assim :

#Código


SELECT *
FROM CLIENTES
WHERE NVL(:P_NF,UF) = UF


Se vc passar um valor ele filtra o valor passado senão
retorna tudo.