У меня есть список записей, и создал курсор Переберите каждую запись и проверить определенное состояние и вернуть запись, если она удовлетворяет мой курсор выглядит следующим образом:выборки записей из курсора в SQL
DECLARE @ID int
DECLARE @FromDate datetime, @ToDate datetime
DEClare @expid as int
set @expid = 839
DECLARE IDs CURSOR FOR
select patpid,fromdate,todate from tdp_ProviderAccomodationTariffPlan where fk_patid = 162 and fk_pacid = 36
OPEN IDs
FETCH NEXT FROM IDs into @ID,@FromDate,@ToDate
WHILE @@FETCH_STATUS = 0
BEGIN
print @ID
print @FromDate
print @ToDate
--SELECT patpid,rate,SType FROM tdp_ProviderAccomodationTariffPlan
--WHERE ('2012-12-27' BETWEEN @FromDate AND @ToDate) and fk_patid = 162 and fk_pacid = 36
FETCH NEXT FROM IDs into @ID,@FromDate,@ToDate
END
CLOSE IDs
DEALLOCATE IDs
в курсоре контура выборки запись с идентификатором «839», пожалуйста, помогите мне решить проблему.
В чем проблема? Курсор выводит неверные данные? Можете ли вы показать исходные данные? –
Я хочу получить запись, которая имеет id = 839 из цикла, см. Я прокомментировал инструкцию select в коде, где я хочу написать инструкцию select, которая возвращает только одну запись, где id - 839, как это сделать – DharaPPatel
Still didn ' Получить его. Почему вы используете курсор? Просто используйте инструкцию 'SELECT' с предложением WHERE' –