0

如何通过存储过程在下一行中选择 QuestionId?

(客户端:屏幕上将显示一个问题(QuestionId:3)。单击下一个按钮时,将显示下一个问题(QuestionId:7))。

注意; QuestionId 必须在每次执行后根据 RowId 增量和连续更改(如 1-3-7-8 ...)。也可以删除任何问题,因此保持订单很重要。

+-------+------------+--------------+
| RowId | QuestionId | QuestionText |
+-------+------------+--------------+
| 1     | 1          | aaaa         |
| 2     | 3          | bbbb         |
| 3     | 7          | cccc         |
| 4     | 8          | dddd         |
| 5     | 13         | eeee         |
| 6     | 17         | ffff         |
| 7     | 24         | gggg         |
| 8     | 30         | hhhh         |
+-------+------------+--------------+
4

1 回答 1

1

试试这个:

CREATE PROCEDURE dbo.GetNextQuestion

@QuestionID int

AS 

SET NOCOUNT ON

SELECT TOP 1 RowId, QuestionId, QuestionText
    FROM Questions
    WHERE QuestionID > @QuestionID
    ORDER BY QuestionID

GO

单击“下一步”按钮应将当前问题 ID 传递给存储过程。

于 2012-07-05T18:24:56.110 回答