У меня есть SQL Server sp, использующий курсор, таким образом:
DECLARE TestCursor CURSOR FOR
SELECT
tblHSOutcomes.strOutcomeName,
tblHSData.fkHSTest
FROM
tblHSData
INNER JOIN tblHSOutcomes ON tblHSData.fkOutcome = tblHSOutcomes.uidOutcome
INNER JOIN tblHSTests ON tblHSData.fkHSTest = tblHSTests.uidTest
WHERE
tblHSData.fkEpisode = @uidHSEpisodes
OPEN TestCursor
FETCH NEXT FROM TestCursor
INTO @Result, @TestID
WHILE @@FETCH_STATUS = 0
BEGIN
...etc
Он работает нормально, однако было бы неплохо иметь возможность проверить, есть ли в запросе курсоров какие-либо записи, прежде чем продолжить обработку через него,если есть @@ var, который я могу использовать, чтобы проверить это?Я знаю, что есть @@ RowCount - но здесь обрабатывается только текущее количество строк - поэтому это не очень полезно
в идеале я хотел бы иметь возможность сделать что-то вроде этого:
if @@cursorQueryHasRecords
BEGIN
WHILE @@FETCH_STATUS = 0
BEGIN
...etc
спасибо
nat