存储过程加游标应用的语句怎么写?
EX2 编程一个存储过程,名为displayN(@n int),实现获取并显示xsqk表中第n条记录的功能,如果n超出记录总数范围,则显示错误。
EX3 编程一个存储过程,名为displayNM(@n int,@m int),实现获取并显示xsqk表中从第n条记录开始到m条记录中所有记录的功能
表结构如下:
create table xsqk
(学号 int primary key,
姓名 varchar(20),
性别 varchar(2),
年龄 tinyint,
专业 varchar(20),
家庭地址 varchar(50)
)
--数据有如图
存储过程 游标应用
[解决办法]
你是用什么数据的,按你的要求不需要加游标的.
create proc displayN(@n int)
as
set nocount on
declare @num int
select @num=count(*) from xsqk
if @n>@num
begin
RAISERROR ('n已经超过总记录数.',1,1)
return
end
select *
from (
select *,rn=row_number() over(partition by getdate() order by getdate() from dept
)t
where rn =@n
go
create proc displayNM(@n int,@m int)
as
set nocount on
declare @num int
select *
from (
select *,rn=row_number() over(partition by getdate() order by getdate() from dept
)t
where rn between @n and @m
go
--测试
exec displayN 1
exec displayNM 1,5