[ Mikelly @ 03.03.2008. 09:22 ] @
Imam jednu uskladistenu proceduru koja prima dva parametra (jedan datetime tipa i jedan int).

To sve naravno radi kako treba, ali meni je takodje potrebno da u jednom momentu dobijem sve podatke, dakle nefiltrirane sa gornja dva uslova. Mogu li se nekako tim parametrima dodijeliti neke vrijednosti (null ili prazan string) pa da dobijem nefiltrirane podatke.

Ili moram pravit novu proceduru, mada mi je to bzvz, jer je kompletno ista, samo se ne pojavljuju ta dva parametra na kraju.

Pozdrav.
[ M E N E @ 03.03.2008. 15:55 ] @
odgovor iz SQL Servera:

tamo gde u definiciji procedure deklarises promenljive napises nihovu default vrednost.
otprilike

CREATE PROCEDURE Procedurica (
@prva int = null,
@druga datetime = null
) as
begin

/* zatim u telu programa, ako ih koristis u WHERE obrascu, koristis nesto ovako: /*

...
WHERE (@prva is null or (polje_tabele=@prva)) and (@druga is null or (drugo_polje_tabele=@druga))
...

end


Na ovaj nacin ces, ako ne prosledis nijedan parametar (ili prosledis NULL vrednosti) dobiti kao rezultat vrednosti koje nisu filtrirane po @prva i @druga