存储过程嵌套事物
来源:互联网 发布:比价软件怎么用 编辑:程序博客网 时间:2024/06/02 07:30
例如在添加购物车(的存储过程)时,内部嵌套事物,当用户已经有购物车时,获取该用户的购物车ID;若用户还没有购物车时,为该用户添加一个购物车ID:
-- =============================================
-- 添加购物车
-- =============================================
ALTER PROCEDURE [dbo].[AddCart]
@userID varchar(50),
@bookISBN varchar(50)
AS
BEGIN
declare @errorInfo int
set @errorInfo=0
Begin Transaction T
--获取用户购物车ID
declare @userCartID int
if(exists(select Cart_ID from Carts where U_ID=@userID))
begin
--获取已存在的购物车ID
select @userCartID=Cart_ID from Carts where U_ID=@userID
end
else
begin
--如果该用户还没有购物车,那么为该用户新增一个购物车
insert into Carts values(@userID)
set @userCartID=@@IDENTITY
set @errorInfo=@errorInfo+@@error
end
--往购物车详细表里加入书籍
if(Exists(select Book_ISBN from CartDetails where Book_ISBN=@bookISBN and Cart_ID=@userCartID))
begin
update CartDetails set Book_Count=Book_Count+1 where Book_ISBN=@bookISBN and Cart_ID=@userCartID
end
else
begin
insert into CartDetails values(@userCartID,@bookISBN,1)
set @errorInfo=@errorInfo+@@error
end
if(@errorInfo<>0)
begin
Rollback Transaction T
end
else
begin
Commit Transaction T
end
END
- 存储过程嵌套事物
- 关于SQLSERVER 事物的运用(3)嵌套事物以及嵌套存储过程的异常的处理
- mysql存储过程 例子 游标cursor 循环嵌套 事物
- sqlserver 中在存储过程中的嵌套事物
- mysql存储过程 例子 游标cursor 循环嵌套 事物
- mysql存储过程 例子 游标cursor 循环嵌套 事物
- 存储过程事物级别
- 带事物的存储过程
- 使用存储过程调用事物
- 存储过程中的事物处理
- 存储过程 事物 实现转账
- 关于存储过程与事物
- 存储过程嵌套示例
- 存储过程if 嵌套
- 嵌套存储过程
- 存储过程 游标嵌套
- 存储过程(嵌套存储过程)
- 多个存储过程中的事物问题
- 书籍父类别和子类别的显示
- 一带输出参数存储过程的完整操作
- 访问Access2007的封装类DbAccess
- 连接access2007和2003的字符串
- ASP.NET调用存储过程返回值 输入输出参数
- 存储过程嵌套事物
- 订单号的生成方法
- 服务器更新
- Response.Buffer = True
- 执子 全
- C#在WinForm下用摄像头
- 计数排序,基数排序,桶排序算法
- c++排序类加算法(插入、归并、选择、冒泡、快速、基数)
- jquery常用学习