[ JovBre @ 20.09.2012. 16:36 ] @
Imam zadatak da napravim bazu u SQLu, jednostavna je ali ne umem da napravim proceduru...
Tabele su:
- users: id, name, password, bids
- auctions: id, products, lastbider, bidvalue, lastbid
- products: id, name

bids prikazuje koliko korisnik trenutno ima ponuda na raspolaganju, lastbider je id korisnika sa poslednjom ponudom, bidvalue vrednost jedne ponude, lastbid trenutni broj ponuda.

Treba napraviti uskladistenu proceduru koja prihvata dva parametra: id korisnika i id aukcije. Procedura mora da proveri da li korisnik ima mogućnost da izvrši ponudu, odnosno, da li ima dovoljno bid-ova. Ukoliko ima, pokreće se transakcija u kojoj se prvo postavlja ponuda za aukciju (povećava vrednost bid polja za jedan) a zatim oduzima ponuda korisniku (polje bid u tabeli users smanjuje se za jedan).

Pokusavala sam nesto, ali dzabe kad nisam ranije radila sa ovim.. pa mi je potrebna pomoc.. sto pre to bolje. Ovo je neuspeli pokusaj pomocu query designera:
Code:
CREATE PROCEDURE [usp_makebid] @auctions.id @users.id 
AS
SELECT     users.bids, auctions.bidvalue, users.bids AS Expr2
FROM         auctions INNER JOIN
                      users ON auctions.lastbider = users.id
WHERE     (users.bids > N'0') AND (auctions.bidvalue = auctions.bidvalue + N'1') AND (users.bids = N'bids-1')


Pocetniku je i jednostavan primer tezak :( ali hvala na pomoci unapred!
[ Zidar @ 21.09.2012. 15:59 ] @
Postavi skripte za kreiranje tabela, CREATE TABLE.., da ne pogadjamo i unesti test podatke. Onda ce se vec naci neko ko ce pomoci.
[ JovBre @ 24.09.2012. 12:40 ] @
Napravila sam odavno tabele i ubacila podatke, ali ne preko T-SQLa vec preko Management Studio-a. Samo mi treba pomoc oko procedure, makar nekakvo objasnjenje, da shvatim kako se prave na brzinu, jer sam u stisci sa vremenom. Ne trazim gotovo resenje.
Hvala unapred
[ adzo_ @ 24.09.2012. 12:58 ] @
Evo da probam da pomognem
Ovo sto pokusavas da uradis ne moze sa select-om
Prvo uradi proveru da li taj korisnik ima mogucnost za ponudu
recimo: (select bids from users where users.id = @usersID )
Pa ako ima mogucnost za ponudu(ako je ovo >0) onda posle radi insert ili update u tu drugu tabelu auctions(ovo zavisno od podataka koje imas u tabeli)
Kad ovaj korak zavrsis onda uradi samo update users tabele i smanji vrednost bids

Ovo sve naravno u istoj Proceduri radis....