做購物車系統(tǒng)時利用到得幾個sqlserver 存儲過程
更新時間:2009年12月15日 23:04:26 作者:
最近使用asp.net+sql2000開始開發(fā)一個小型商城系統(tǒng),其中涉及到得購物車功能主要是仿照淘寶實現(xiàn)的.
即以游客身份登錄網(wǎng)站時以cookie的方式存儲購物車,而以登錄用戶的身份進入時將購物車信息存儲到數(shù)據(jù)庫中去,若是先以游客身份完成購物再登錄繼續(xù)購物,則將cookies購物車存入數(shù)據(jù)庫;
其中涉及到的存儲過程主要如下:
一:已登錄會員添加商品到購物車功能:
/* @store_sum表示要添加的商品數(shù)量,添加同時確認購物車中自己已有的數(shù)量與將要加入的數(shù)量之和是否超過庫存 */
CREATE proc ncp_Cart_Add
(
@store_id int,
@store_sum int=1,
@member_id int
)
as
DECLARE @Amount int
DECLARE @NowAmount int
Begin
select @Amount=(select amount from ncp_store where id=@store_id)
IF EXISTS(SELECT 1 FROM [ncp_cart] WHERE store_id=@store_id and member_id=@member_id)
Begin
select @NowAmount=(select store_sum+@store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id)
if @NowAmount>@Amount
return 0
else
UPDATE [ncp_cart] SET store_sum=store_sum+@store_sum,addtime=getDate() where store_id=@store_id and member_id=@member_id
return 1
End
ELSE
Begin
select @NowAmount=(select store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id)
if @NowAmount>@Amount
return 0
else
INSERT INTO [ncp_cart](store_id,store_sum,member_id) values(@store_id,@store_sum,@member_id)
return 1
END
End
GO
二:購物車的刪除功能
/* type 為1是全部刪 0時只刪一個 */
CREATE PROCEDURE ncp_Cart_Del
@type int=0,
@store_id int ,
@member_id int
AS
begin
if @type=0
delete from [ncp_cart] where store_id=@store_id and member_id=@member_id
else
delete from [ncp_cart] where member_id=@member_id
End
GO
其中涉及到的存儲過程主要如下:
一:已登錄會員添加商品到購物車功能:
復(fù)制代碼 代碼如下:
/* @store_sum表示要添加的商品數(shù)量,添加同時確認購物車中自己已有的數(shù)量與將要加入的數(shù)量之和是否超過庫存 */
CREATE proc ncp_Cart_Add
(
@store_id int,
@store_sum int=1,
@member_id int
)
as
DECLARE @Amount int
DECLARE @NowAmount int
Begin
select @Amount=(select amount from ncp_store where id=@store_id)
IF EXISTS(SELECT 1 FROM [ncp_cart] WHERE store_id=@store_id and member_id=@member_id)
Begin
select @NowAmount=(select store_sum+@store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id)
if @NowAmount>@Amount
return 0
else
UPDATE [ncp_cart] SET store_sum=store_sum+@store_sum,addtime=getDate() where store_id=@store_id and member_id=@member_id
return 1
End
ELSE
Begin
select @NowAmount=(select store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id)
if @NowAmount>@Amount
return 0
else
INSERT INTO [ncp_cart](store_id,store_sum,member_id) values(@store_id,@store_sum,@member_id)
return 1
END
End
GO
二:購物車的刪除功能
復(fù)制代碼 代碼如下:
/* type 為1是全部刪 0時只刪一個 */
CREATE PROCEDURE ncp_Cart_Del
@type int=0,
@store_id int ,
@member_id int
AS
begin
if @type=0
delete from [ncp_cart] where store_id=@store_id and member_id=@member_id
else
delete from [ncp_cart] where member_id=@member_id
End
GO
相關(guān)文章
SQLServer:探討EXEC與sp_executesql的區(qū)別詳解
本篇文章是對EXEC與sp_executesql的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06SQL Server誤區(qū)30日談 第7天 一個實例多個鏡像和日志傳送延遲
這個誤區(qū)就有點老生常談了。每一個主體服務(wù)器只允許一個鏡像服務(wù)器。如果你希望存在多個主體服務(wù)器的副本,那么請使用事務(wù)日志傳送,事務(wù)日志傳送允許針對每一個主體存在多個輔助實例2013-01-01SQL?Server?Agent?服務(wù)啟動后又停止問題
這篇文章主要介紹了SQL?Server?Agent?服務(wù)啟動后又停止問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04sqlserver數(shù)據(jù)庫危險擴展刪除和恢復(fù)代碼
今天為了實現(xiàn)sqlserver的復(fù)制功能,因為以前刪除了很多的sqlserver的一些會導(dǎo)致不安全因素的擴展,導(dǎo)致很多功能無法用,沒有辦法需要重新的恢復(fù)擴展。2010-07-07