2012-07-05 2 views
0

어떻게 저장 프로 시저를 통해 다음 행에 QuestionId 선택할 수 있습니다?다음 행에서 열을 선택하는 방법은 무엇입니까?

(클라이언트 측 : 질문 (QuestionId :. 3) 화면에 표시 될 다음 버튼을 클릭하면, 다음의 질문 (QuestionId는 : 7)에 도시한다).

참고 것을; QuestionId은 (1-3-7-8 등 ...)마다 실행 이후의 RowId에 따라 점진적으로 그리고 연속적으로 변화되어야한다. 또한 모든 질문을 삭제할 수 있으므로 주문을 유지하는 것이 중요합니다.

+-------+------------+--------------+ 
| 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   | 
+-------+------------+--------------+ 

답변

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를 전달해야한다 "다음"버튼을 클릭.

+0

'order by' 절이 없으면 모든 베팅이 꺼져 있습니다. – HABO

+0

user92546 @ - DERP, 당신은 전적으로 옳습니다, 추가. 더 많은 커피를 마실 시간이야. – LittleBobbyTables

관련 문제