Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Uskladistene procedure u Ms SQL Serveru

[es] :: MS SQL :: Uskladistene procedure u Ms SQL Serveru

[ Pregleda: 4329 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

goranue
Bojovic Goran
Uzice

Član broj: 69498
Poruke: 3
*.dialup.neobee.net.



Profil

icon Uskladistene procedure u Ms SQL Serveru12.11.2006. u 21:35 - pre 211 meseci
Umam jedan problem.
Na koji nacin mogu uskladistenu proceduru da napisem u sledecem obliku

...
Select ....
Where (...)
if @abd =1
and (iskaz1...)
else
and (iskaz2...)

Gde je @abc ulazni parametar (npr. izbor na radio dugmetu u nekom programu)
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru12.11.2006. u 21:49 - pre 211 meseci
Code:

CREATE PROCEDURE test 
   @abd int
AS 
SELECT * FROM tabela WHERE polje = @abd
GO

Valjda si na to mislio.
 
Odgovor na temu

goranue
Bojovic Goran
Uzice

Član broj: 69498
Poruke: 3
*.neobee.net.



Profil

icon Re: Uskladistene procedure u Ms SQL Serveru13.11.2006. u 15:39 - pre 211 meseci
Hvala na odgovoru, ali nisam na to mislio.

Potrebno je da procedura izgleda otprilike ovako:
(tabela naka na primer ima polja: a, b, c, d, e, f)
x, y, z, g, h su neke konstante
CREATE PROCEDURE test
@abd int
AS
SELECT * FROM tabela WHERE a<x and b>y
IF @abd = 1
(and c =z or d <g)
else
and f>h
GO
Znaci potrebno je da unutar "Select" iskaza ubacim iskaz "IF".
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.ADSL.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru13.11.2006. u 16:02 - pre 211 meseci
Mozes da napises nesto kao:

WHERE a<b AND (CASE @param WHEN 1 THEN c<d ELSE f<g END)

nisam siguran (ne mogu sad da proverim) ali tako nekako bi trebalo da moze. Ako ne podje eksperimentisi malo sa CASE za to sluzi

[Ovu poruku je menjao Fedya dana 13.11.2006. u 19:53 GMT+1]
Every hamster has his day.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru13.11.2006. u 16:20 - pre 211 meseci
Moraces da koristis sp_executesql
 
Odgovor na temu

logic_rabbit
Radenko Zec
banjaluka

Član broj: 74458
Poruke: 271
*.lanaco.com.



+1 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru15.11.2006. u 07:16 - pre 211 meseci
IF @abd = 1
BEGIN
SELECT * FROM tabela WHERE a<x and b>y
and (c =z or d <g)
END
ELSE
BEGIN
SELECT * FROM tabela WHERE a<x and b>y
and f>h
END

[Ovu poruku je menjao logic_rabbit dana 15.11.2006. u 14:54 GMT+1]
logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.ADSL.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru15.11.2006. u 08:16 - pre 211 meseci
Citat:
logic_rabbit: IF @abd = 1
BEGIN
SELECT * FROM tabela WHERE a<x and b>y
(and c =z or d <g)
else
and f>h
END
ELSE
BEGIN
SELECT * FROM tabela WHERE a<x and b>y
END


Da, ovo je dobar primer kako NE TREBA raditi. U redu, ovo je jednostavan primer, ali da je u pitanju neka slozenija procedura bukvalno bi imao kopiju iste procedure sa malim razlikama. Odlucis da promenis nesto, moras dobro da pazis da se to menja na oba mesta inace... Ovo je leglo bagova.
Every hamster has his day.
 
Odgovor na temu

logic_rabbit
Radenko Zec
banjaluka

Član broj: 74458
Poruke: 271
*.lanaco.com.



+1 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru15.11.2006. u 13:56 - pre 211 meseci
Bila je greska u brzini.Ovo je resenje a sad da li je pametno to je druga stvar...
logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru15.11.2006. u 18:57 - pre 211 meseci
Definitivno nije dobro svako rešenje koje duplira kôd...

Ovi problemi se rešavaju jednostavnim proširenjem where uslova:

npr. primer koji ti iznosiš:
Citat:
goranue:
SELECT * FROM tabela
WHERE a<x and b>y
IF @abd = 1
(and c =z or d <g)
else
and f>h

bi se napisao kao:
Code:

WHERE a<x and b>y
AND (@abd <> 1 OR c = z or d < g)
AND (@abd = 1 OR f > h)

Inače, pitanje nema apsolutno nikakve veze sa uskl. procedurama.
 
Odgovor na temu

logic_rabbit
Radenko Zec
banjaluka

Član broj: 74458
Poruke: 271
*.lanaco.com.



+1 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru16.11.2006. u 07:02 - pre 211 meseci
Citat:
jablan: Definitivno nije dobro svako rešenje koje duplira kôd...

Ovi problemi se rešavaju jednostavnim proširenjem where uslova:

npr. primer koji ti iznosiš:

bi se napisao kao:
Code:

WHERE a<x and b>y
AND (@abd <> 1 OR c = z or d < g)
AND (@abd = 1 OR f > h)

Inače, pitanje nema apsolutno nikakve veze sa uskl. procedurama.



Tvoje resenje je posve tacno i elegantno resenje koje se cesto koristi.

[Ovu poruku je menjao logic_rabbit dana 16.11.2006. u 14:25 GMT+1]
logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
 
Odgovor na temu

neshto vishe
zgembo handislic

Član broj: 169878
Poruke: 132
*.teol.net.



Profil

icon Re: Uskladistene procedure u Ms SQL Serveru29.06.2011. u 09:41 - pre 155 meseci
Pozdrav svima, da li neko zna gdje se moze skinuti dobra knjiga za 'SQL Procedure'?
Da obuhvata pocetak rada sa procedurama i primjere...
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: Uskladistene procedure u Ms SQL Serveru30.06.2011. u 17:01 - pre 155 meseci
Otvorio si temu staru 5 godina.
Probaj neku knjigu tipa Beginning T-sql ili tako nesto, ne verujem nesto da ima knjiga bas specificno za stored procedure.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

[es] :: MS SQL :: Uskladistene procedure u Ms SQL Serveru

[ Pregleda: 4329 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.