ho elenco di record e ho creato il cursore per scorrere ogni record e controllo certa condizione e la registrazione di ritorno, se soddisfa il mio cursore è la seguente:recuperare record da cursore in 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
nel cursore ciclo fetch registra il cui id è '839', per favore aiutami a risolvere il problema.
Qual è il tuo problema? Il cursore sta recuperando dati errati? Puoi mostrare i dati di origine? –
voglio recuperare record che sta avendo id = 839 dal ciclo, vedi ho commentato select statement nel codice che dove voglio scrivere select statement che restituisce solo un record dove id è 839 come faccio io quello – DharaPPatel
Still didn ' Lo capisco. Perché usi il cursore allora? Basta usare l'istruzione 'SELECT' con la clausola' WHERE' –