我需要一个存储过程来返回10行数据,以显示从最新数据到最旧数据的页面。如果用户点击下一个或上一个按钮,我还需要获得接下来的10行然后接下来的20行。我知道如何一次获得一行,但我不知道如何返回多行。
ALTER PROCEDURE [dbo].[spGetRow]
@RowIdent int,
@Formula varchar(5) output,
@Batch# int output,
@Status int output,
@AutoMode int output,
@Time datetime output,
@Mixer varchar(3) output,
@QCTech varchar(3) output,
@Notes varchar(max) output,
@Deck int output,
@Ident int output
AS
BEGIN
SET NOCOUNT ON;
SELECT
@Formula = [Formula],
@Batch# = [Batch#],
@Status= [Status],
@AutoMode = [AutoMode],
@Time = [Time],
@Mixer = [Mixer],
@QCTech = [QCTech],
@Deck = [Notes],
@Deck = [Deck],
@Ident= [Ident]
FROM [VenturaQC].[dbo].[QCLog]
WHERE
[Ident] = @RowIdent
Return 1
END
示例QCLog表
Formula Batch# Status AutoMode Time Mixer QCTech Notes Deck Ident
F1235 1 2 1 2014-01-12 00:00:00.000 abc AT Note 1 2 2
F1235 1 2 2 2014-01-12 00:00:00.000 abc AT Note 2 2 3
F7175 1 1 1 2014-01-12 00:00:00.000 JH EC 20#VIN. PER 5000#BATCH SIZE 5 6
F7175 1 2 1 2014-01-12 00:00:00.000 JH KT 20#vin Resample 5 7
F7610 4 1 1 2014-01-12 00:00:00.000 JH ec 6 8
F7610 4 5 1 2014-01-12 00:00:00.000 JH KT 6 9
提前致谢 肯尼
答案 0 :(得分:1)
“就这么做”。
存储过程返回select语句的结果。如果你的select语句选择了多行,那么将会返回惊喜。初学者的基本sql - 存储过程与否,所有select语句的工作原理相同。
如果用户点击下一个或上一个,我还需要获得接下来的10行然后接下来的20行 按钮。
无法在存储过程中执行:SP返回数据,然后完成。它不能等待按钮点击。
如果您需要进行分页,则需要在UI中执行此操作,然后使用相关参数调用SP(例如,跳过并获取随后放入SQL中的参数)。
答案 1 :(得分:1)