SQL_ShoppingCart / ShoppingCartAddItem / ShoppingCartGetItems / ShoppingCartGetTotalAmount / ShoppingCartRemoveItem ...
2010-12-14 23:33
337 查看
SQL_
TABLE : ShoppingCart
PROCEDURE : ShoppingCartAddItem / ShoppingCartGetItems / ShoppingCartGetTotalAmount / ShoppingCartRemoveItem / ShoppingCartUpdateItem / DeleteProduct / ShoppingCartDeleteOldCarts / ShoppingCartCountOldCarts
TABLE : ShoppingCart
PROCEDURE : ShoppingCartAddItem / ShoppingCartGetItems / ShoppingCartGetTotalAmount / ShoppingCartRemoveItem / ShoppingCartUpdateItem / DeleteProduct / ShoppingCartDeleteOldCarts / ShoppingCartCountOldCarts
CREATE TABLE ShoppingCart( CartID char(36) NOT NULL, ProductID INT NOT NULL, Quantity INT NOT NULL, DateAdded SMALLDATETIME NOT NULL, CONSTRAINT PK_ShoppingCart PRIMARY KEY CLUSTERED (CartID ASC, ProductID ASC) ) GO ALTER TABLE ShoppingCart WITH CHECK ADD CONSTRAINT FK_ShoppingCart_Product FOREIGN KEY(ProductID) REFERENCES Product (ProductID) GO CREATE PROCEDURE ShoppingCartAddItem (@CartID char(36), @ProductID INT) AS IF EXISTS (SELECT CartID FROM ShoppingCart WHERE ProductID = @ProductID AND CartID = @CartID) UPDATE ShoppingCart SET Quantity = Quantity + 1 WHERE ProductID = @ProductID AND CartID = @CartID ELSE IF EXISTS (SELECT Name FROM Product WHERE ProductID=@ProductID) INSERT INTO ShoppingCart (CartID, ProductID, Quantity, DateAdded) VALUES (@CartID, @ProductID, 1, GETDATE()) GO CREATE PROCEDURE ShoppingCartGetItems (@CartID char(36)) AS SELECT Product.ProductID, Product.Name, Product.Price, ShoppingCart.Quantity, Product.Price * ShoppingCart.Quantity AS Subtotal FROM ShoppingCart INNER JOIN Product ON ShoppingCart.ProductID = Product.ProductID WHERE ShoppingCart.CartID = @CartID GO CREATE PROCEDURE ShoppingCartGetTotalAmount (@CartID char(36)) AS SELECT ISNULL(SUM(Product.Price * ShoppingCart.Quantity), 0) FROM ShoppingCart INNER JOIN Product ON ShoppingCart.ProductID = Product.ProductID WHERE ShoppingCart.CartID = @CartID GO CREATE PROCEDURE ShoppingCartRemoveItem (@CartID char(36), @ProductID INT) AS DELETE FROM ShoppingCart WHERE CartID = @CartID and ProductID = @ProductID GO CREATE Procedure ShoppingCartUpdateItem (@CartID char(36), @ProductID INT, @Quantity INT) As IF @Quantity <= 0 EXEC ShoppingCartRemoveItem @CartID, @ProductID ELSE UPDATE ShoppingCart SET Quantity = @Quantity, DateAdded = GETDATE() WHERE ProductID = @ProductID AND CartID = @CartID GO ALTER PROCEDURE DeleteProduct (@ProductID INT) AS DELETE FROM ShoppingCart WHERE ProductID=@ProductID DELETE FROM ProductCategory WHERE ProductID=@ProductID DELETE FROM Product where ProductID=@ProductID GO CREATE PROCEDURE ShoppingCartDeleteOldCarts (@Days smallINT) AS DELETE FROM ShoppingCart WHERE CartID IN (SELECT CartID FROM ShoppingCart GROUP BY CartID HAVING MIN(DATEDIFF(dd,DateAdded,GETDATE())) >= @Days) GO CREATE PROCEDURE ShoppingCartCountOldCarts (@Days smallINT) AS SELECT COUNT(CartID) FROM ShoppingCart WHERE CartID IN (SELECT CartID FROM ShoppingCart GROUP BY CartID HAVING MIN(DATEDIFF(dd,DateAdded,GETDATE())) >= @Days) GO
相关文章推荐
- IEnumStyleGalleryItem get_Items
- 淘宝api升级,无法采集淘宝的数据,taobao.item.get 和taobao.taobaoke.items.get都不能用
- JavaScript 调用sharepoint内置webservice(UpdateListItems和GetListItem())
- ItemsControl.GetContainerForItemOverride 方法
- Using partition by to write alternative SQL to get effdt and effseq items
- Remove useless item form the Control Panel\All Control Panel Items
- Print the amount of items and total price of Magento's cart
- SPList.GetItemById(int)和SPList.Items.GetItemById(int)的区别
- SPList.GetItemById(int)和SPList.Items.GetItemById(int)的区别
- java.sql.SQLException: ORA-01400: 无法将 NULL 插入 ("LVJIAN"."T_ITEMS"."ITEM_NAME")
- How to get SQL server 2016
- 解决ViewPager+fragment预加载问题(getItem()两次调用)
- Shopping cart analysis with R(-1) – Multi-layer pie chart
- BaseAdapter几个重载方法介绍isEnabled,getViewTypeCount ,getItemViewType
- python Class:面向对象高级编程 __getitem__
- nested exception is org.hibernate.exception.SQLGrammarException: could not get next sequence value
- Adapter的getViewTypeCount和getItemViewTyp
- sqlSession.getMapper(UserMapper.class)的使用方式
- HashMap的原理分析(2)get和remove方法的实现
- IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter notifyItemRangeRemove