S2_day_07存储过程

--创建用户自定义 的储存过程
--之创建带输入参数的储存参数


use MySchool

--检测是否存在usp_studentinfo储存过程


if exists(select * from sysobjects where name='usp_studentinfo')
drop procedure usp_studentinfo
go
--创建储存过程
--如果储存过程的参数后面有'output'关键字,则表示此参数为输出参数
create procedure usp_studentinfo
@sorce  int--创建输入参数


as
if(@sorce<0 or @sorce>100)
begin
raiserror('被驴踢了',16,1)--处理错误信息(16,1)一般固定
end
else
begin
select studentname,studentresult from
Student,result 
where Student.studentno=Result.StudentNo 
and StudentResult>@sorce
end

--执行带参数的储存过程
exec usp_studentinfo 90--输入参数具体赋值且查看
go

--带out参数的储存过程
use MySchool
go
--检测是否存在usp_studentinfo储存过程

if exists(select * from sysobjects where name='usp_getpagelist')
drop procedure usp_getpagelist
go
create procedure usp_getpagelist
@pageindex int, --第几页(输入参数)
@pagesize int ,--页大小(输入参数)
@totalrecords int out,--总计录数(输出参数)
@totalpages int out--总页面(输出参数)
as
select @totalrecords=COUNT(1) from Student--记录学生总数
set @totalpage=CEILING(@totalrecords*1.0/@pagesize)--记录总页数

--分页操作
select * from
(
--  生成带序号的集合
select *,ROW_NUMBER() over(order by studentno)as myid
from Student

)as temp
                     --开始序号                             --结束序号
where myid between  @pageindex*@pagesize-(@pagesize-1) and @pageindex*@pagesize

--创建输出变量
declare @records int
declare @pages int
--执行带参数的存储过程和输出带参数的存储过程
exec usp_getpagelist 2,3,@records out,@pages out
select @records--输出总序号

select @pages--输出总页数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值