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')
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!