SQL Server—存储过程(输入参数)

作者 : 攻城狮 发布时间: 2023-03-20 共316人阅读

举例1:没有输入参数,没有输出参数的存诸过程。

定义存储过程实现查询出账户余额最低的银行卡账户信息,显示银行卡号,姓名,账户余额。

--创建存储过程
create procedure proc_MinMoneyCard
as
select top 1 CardNo,RealName,CardMoney from BankCard
inner join AccountInfo on BankCard.AccountId=AccountInfo.AccountId
order by CardMoney asc
go
    
--调用存储过程
exec proc_MinMoneyCard

/*
procedure:[prə'siːdʒə] 程序 / 手续 / 步骤 / 外科手术
proc_MinMoneyCard:定义的存储过程的名字
*/

举例2:有输入参数,没有输出参数的存储过程

模拟银行卡存钱操作,传入银行卡号,存钱金额,实现存钱操作。

--创建存储过程
create procedure proc_Cunqian
    @CardNo varchar(30),   --参数要写在as的前面
    @money money           --参数要写在as的前面
as
    update BankCard set CardMoney = CardMoney + @money
    where CardNo = @CardNo
    insertinto CardExchange(CardNo,MoneyInBank,MoneyOutBank,ExchangeTime)
    values(@CardNo,@money,0,getdate())
go

--调用存储过程
exec proc_Cunqian '6225547858741263',1000

/*
procedure:[prə'siːdʒə] 程序 / 手续 / 步骤 / 外科手术
proc_Cunqian:定义的存储过程的名字
*/

举例3:有输入参数,没有输出参数,但是有返回值的存储过程(返回值必须是整数)。

模拟银行卡取钱操作,传入银行卡号,取钱金额,实现取钱操作

取钱成功,返回1;取钱失败返回-1。

--创建存储过程
create procedure proc_Quqian
    @CardNo varchar(30),    --参数要写在as的前面
    @money money            --参数要写在as的前面
as
    update BankCard set CardMoney = CardMoney - @money
    where CardNo = @CardNo
    if @@ERROR <>0      --这里的变量是指执行上一条语句的错误号(等于0代表没报错,不等于0代表报错了)
        return -1       --返回值用return(如果上面执行失败了,就不会再往下继续执行了)
    insert into CardExchange(CardNo,MoneyInBank,MoneyOutBank,ExchangeTime)
    values(@CardNo,0,@money,getdate())
    return 1
go

--调用存储过程
declare @returnValue int      --定义一个变量,返回值,int整数型
exec @returnValue = proc_Quqian '6225125478544587',2000     --变量等于返回的值
select @returnValue      --查询返回值

/*
procedure:[prə'siːdʒə] 程序 / 手续 / 步骤 / 外科手术
proc_Quqian:定义的存储过程的名字
*/

 

1.本站所有资源收集于互联网和用户上传,如有侵权请联系客服删除;
2.本站不保证所提供下载资源的准确性、安全性和完整性,请自行测试;
3.资源仅供学习交流使用,版权归原作者所有,请在下载后24小时之内删除;
4.如用于商业或非法用途实属个人行为,与本站无关,一切后果由用户自负;
5.本站提供的源码、主题模板、插件等资源,都不包含技术服务,请大家谅解;
6.本站所设置的资源售价只是用于赞助,收取费用仅维持本站的日常运营所需;
7.如果您有好的源码或者教程,请至个人中心发布资源,将有积分奖励和额外收入;
8.本站默认解压密码:www.ittiantang.com,如有链接无法下载,请联系管理员处理。

IT天堂 » SQL Server—存储过程(输入参数)

常见问题FAQ

IT天堂的会员权益只能通过充值获得吗?
您可以通过签到功能获得积分,用积分兑换会员权益。
网站上的VIP资源只能通过充值购买吗?
您可以通过每日签到获得积分,使用积分直接购买VIP资源。

发表评论