Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.76 KB | None | 0 0
  1. CREATE TRIGGER trgBidProcessing ON BIDS INSTEAD OF INSERT
  2. AS
  3.     --Declare and Set Some Variables
  4.     declare @itemID int, @auctionID int, @bidID int, @bidderID int;
  5.     declare @newbid money, @oldbid money;
  6.     declare @bidTime datetime, @aucFinish datetime;
  7.  
  8.     SELECT @bidID=bidID FROM inserted;
  9.     SELECT @auctionID=auctionID FROM inserted;
  10.     SELECT @bidderID=bidderID FROM inserted;
  11.     SELECT @itemID=itemID FROM AUCTIONS WHERE auctionID=@auctionID;
  12.  
  13.     SELECT @bidTime=bidTime FROM inserted;
  14.     SELECT @aucFinish=auctionFinish FROM AUCTIONS WHERE auctionID=@auctionID;
  15.  
  16.     SELECT @newbid=bidAmount from inserted;
  17.     SELECT @oldbid=HighestBid FROM highestBid WHERE auctionID=@auctionID;
  18.  
  19.     --Checks Auction is not finished
  20.     IF @bidTime < @aucFinish
  21.     begin
  22.         --bid is higher then previous highest
  23.         IF @newbid > @oldbid
  24.         begin
  25.             INSERT INTO BIDS(auctionID, bidderID, bidTime, bidAmount) VALUES ( @auctionID, @bidderID, @bidTime, @newbid ); --insert bid
  26.         end
  27.     end
  28.     ELSE -- auction has finished
  29.     begin
  30.         --Set Some Variables For Entrys
  31.         DECLARE @paymentID int, @seller int, @payMthd nvarchar(25);
  32.  
  33.         SELECT @seller=sellerID FROM ITEMS WHERE itemID=@itemID;
  34.         SELECT @payMthd=paymentPref FROM SELLERS WHERE sellerID=@seller;
  35.        
  36.         SELECT @bidID=bidID FROM BIDS WHERE auctionID=@auctionID AND bidAmount=@oldbid;
  37.         --Create Payment Entry
  38.         INSERT INTO PAYMENTS(paymentMthd, paymentAmount) VALUES (@payMthd, @oldbid);
  39.         --Get the PaymentID
  40.         SELECT @paymentID=SCOPE_IDENTITY();
  41.         --Create Sales Entry
  42.         INSERT INTO SALES(itemID, bidID, paymentID, saleTime) VALUES ( @itemID, @bidID, @paymentID, @aucFinish);
  43.     end
  44. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement