做购物车系统时利用到得几个sqlserver 存储过程
发布时间:2024-01-13 10:05:48
标签:sqlserver,存储过程
即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去,若是先以游客身份完成购物再登录继续购物,则将cookies购物车存入数据库;
其中涉及到的存储过程主要如下:
一:已登录会员添加商品到购物车功能:
/* @store_sum表示要添加的商品数量,添加同时确认购物车中自己已有的数量与将要加入的数量之和是否超过库存 */
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


猜你喜欢
- 实际上face_recognition这个项目尤其是dlib更适用于Linux系统。经过我的测试,在性能方面,编译同样规格的项目,这个工具在
- 数据库中数据展示:使用python代码实现:# Requires pymongo 3.6.0+from pymongo import Mon
- 迭代器跟生成器,与上篇文章讲的装饰器一样,都是属于我的一个老大难问题。通常就是遇到的时候就去搜一下,结果在一大坨各种介绍博客中看了看,回头又
- 一、概述MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值(long_query_time,单位
- 日志中也没有打印什么明显的错误,只是显示连接了rabbitmq后就关闭了[2019-09-11 06:08:45,729: INFO/Bea
- 给定图像集如下,所有类别的图片均在一个文件夹内:给定与图片名相匹配的表格,声明每张图片对应的类别(共有20个类别):那么,如何根据表格中所给
- ///计算两个整数的百分比值 function GetPercent(num, total) { num = parseFloat(num)
- 前言TestSuite一直是unittest的灵活与精髓之处,在繁多的测试用例中,可以任意挑选和组合各种用例集,比如smoke用例集、lev
- wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概。首
- nav导航栏<nav role="navigation" class="navbar navbar-de
- 微软建议用Request.BinaryRead()读取表单数据,但由于这种方法读出的是二进制数据,需要对读出的数据逐字节进行分析,生成有意义
- python中的sys是提供了一系列有关python运行环境的变量和函数的模块,如sys.argv函数实现从程序外部向程序传递参数;sys.
- Readme:blog address:摘要:编写登录接口输入用户名、密码认证成功后显示欢迎信息输错3次后锁定关键词:循环;判断;外部数据读
- MySQL 拥有一个复杂的但直观易学的 SQL 接口。这个章节描述了各种不同的命令、类型和函数,为了高效地使用 MySQL 需要了解它们。这
- 其实这个话题已经在侧面写了好几篇深刻反思,用我自己几年工作实践的体会来看,性格决定了将来的发展。某些特质虽然可以掩饰,但在这之上必然不可能有
- 如果将程序员分为本文的8种类型,你会是哪一种呢?在求职的时候,相信很多人都被问过这样的问题,“你对自己未来5年的职业规划是怎么样的?” 每当
- 网站发布到IIS后,发现网站使用的Bootstrap框架所引用的woff字体无法正常显示。于是跟踪http请求,发现woff字体请求出现GE
- 这篇文章主要介绍了Python3的socket使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 有些接口参数是一个文件格式,比如fiddler 抓包参数如下显示这个接口的 form-data fiddler 显示的和不带文件参数的接口有
- 本文实例为大家分享了微信小程序实现录音的具体代码,供大家参考,具体内容如下为录音录音中wxml:<!-- 开始录音 --><