博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
存储过程转账
阅读量:5248 次
发布时间:2019-06-14

本文共 1936 字,大约阅读时间需要 6 分钟。

-- ================================================

-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <王>
-- Create date: <2017-9-14>
-- Description: <用户借款>
-- =============================================
alter PROCEDURE Pro_jk
-- 定义参数
@jekuanr int,--借款人
@bejkuanr int,--被借款人
@moeny decimal(18,2),--借款金额
@result nvarchar(200) output--结果输出
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
begin tran;--事物开启
begin try
declare @oldmoney decimal ;--被借款人的总金额
declare @oldname nvarchar(200);--被借款人名字
select @oldmoney=Usermoney,@oldname=Username from Userb where Userid=@bejkuanr;--查询被借款人的金额
if(@oldmoney>=@moeny and @moeny>0)
begin
declare @err int=0;--定义错误编号
update Userb set Usermoney=Usermoney-@moeny where Userid=@bejkuanr;--修改被借款人的金额
set @err=@err+@@ERROR;--每次sql执行 获取一次错误编码
update Userb set Usermoney=Usermoney+@moeny where Userid=@jekuanr;--修改借款人的金额
set @err=@err+@@ERROR;--每次sql执行 获取一次错误编码
COMMIT TRAN;
declare @jekuaname nvarchar(200);--借款人名字
select @jekuaname=Username from Userb where Userid=@jekuanr;--查询借款人的名字
insert into Userlogn values
(
@jekuanr,
@bejkuanr,
@jekuaname+'在时间:'+convert(varchar(50),getdate(),121)+'借了'+@oldname+'的'+cast(@moeny as varchar(20))+'元'
);
set @err=@err+@@ERROR;--每次sql执行 获取一次错误编码

IF(@err =0)

BEGIN
SET @result ='借款成功';
COMMIT TRAN; --执行成功 事物提交
END
ELSE
begin
SET @result ='借款失败';
ROLLBACK TRAN; --执行失败 事物回滚
END

end

end try
begin catch
rollback TRAN
end catch
END
GO

转载于:https://www.cnblogs.com/w-pengchao/p/7872765.html

你可能感兴趣的文章
Django 相关
查看>>
比较安全的获取站点更目录
查看>>
UVA11374 Airport Express
查看>>
读书汇总贴
查看>>
空间分析开源库GEOS
查看>>
RQNOJ八月赛
查看>>
前端各种mate积累
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>
linux php编译安装
查看>>
name phone email正则表达式
查看>>
重置GNOME-TERMINAL
查看>>
redis哨兵集群、docker入门
查看>>
hihoCoder 1233 : Boxes(盒子)
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
Vue
查看>>