Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.331 pregleda

Najnovija ↓

Stored procedure pitanje 19.11.2007. u 11:05 · pre 230 meseci #1
Napravio sam jednu uskladistenu proceduru, sa jednim parametrom koji mi stoji u WHERE klauzuli i koji je tipa int.

Sve je ok dok ja unosim taj parametar i vrace mi podatke koji se ticu samo jednog artikla, ali sto kad hocu da izvucem sve podatke, kako onda?

Da li da stavim da je parametar recimo '*' ili moram to da rijesim kroz if->then->else naredbe T-SQL-a?

Ne znam da li me razumijete. Interesujeme, sto da cinim sa parametrom kad hocu cjelokupan set rezultata a ne samo sto stoji uz WHERE.

Pozdrav i hvala.
Re: Stored procedure pitanje 19.11.2007. u 18:11 · pre 230 meseci #3
* nije možda zgodna jer ti je parametar int tipa
ali bi mogla recimo nula, a za char npr ""

Znači ako je nula
vrati sve
else
vrati = parametar

imaj u vidu da se broj različitih procedura u if-ovima širi sa brojem parametara

Drugim rečima ako imaš 5 parametara kojima hoćeš da prosleđuješ nulu
imaćeš 2^5=32 procedure, što može da bude problem za odžavanje

Veći problem je što ovoliki if-ovi mogu ukopati performanse upita

Re: Stored procedure pitanje 20.11.2007. u 13:26 · pre 230 meseci #4
zasto u klasi ne resis sta ti treba (jedan red ili svi), pa pozoves dve razlicite procedure, koje ce se jako brzo izvrsiti na serveru?
Potpis
Uhvatili ste me nespremnog
Re: Stored procedure pitanje 20.11.2007. u 21:17 · pre 230 meseci #5
Citat:
Sve je ok dok ja unosim taj parametar i vrace mi podatke koji se ticu samo jednog artikla, ali sto kad hocu da izvucem sve podatke, kako onda?


Npr. imaš ulazni parametar @ulazID int

SELECT ... WHERE ( ID = @ulazID OR @ulazID = 0 )

Ako želiš sve vrednosti, proslediš 0 (uz uslov da u tabeli polje ID ne može biti vrednost 0). Ako želiš samo zapise gde je ID=5, onda, naravno, proslediš 5.
Potpis
Commercial-Free !!!
Re: Stored procedure pitanje 20.11.2007. u 23:29 · pre 230 meseci #6
Više različitih procedura mi je komplikovalo priču, iovako ih ima kao lovačkoj priči
Rešenje sa

ID = @ulazID OR @ulazID = 0

na prvi pogled izgleda da je za klasu bolje od rešenja sa if-om
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme