chercher de l'enregistrement à partir du curseur dans SQL

j'ai la liste des dossiers et ont créé le curseur d'une boucle sur chaque dossier et de vérifier certaines condition et le retour de registre si elle remplit mon curseur est comme suit :

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

dans la boucle d'extraction du curseur d'enregistrement dont l'id est '839' , Merci de m'aider à résoudre le problème.

Quel est votre problème? Le curseur est l'extraction des données erronées? Pouvez-vous montrer la source de données?
je veux extraire dossier ayant pour id = 839 de la boucle , le voir, j'ai commenté une instruction select dans le code où je veux écrire instruction select qui retourne uniquement un enregistrement où id est de 839 comment dois-je faire
Encore n'a pas l'obtenir. Pourquoi utilisez-vous le curseur? Utilisez simplement SELECT déclaration avec WHERE clause
j'ai instruction select "sélectionnez patpid,fromdate,jour de tdp_ProviderAccomodationTariffPlan où fk_patid = 162 et fk_pacid = 36" qui me renvoie 7 dossiers. chaque enregistrement renvoie fromdate et à jour , je veux vérifier ma date de ce fait il se trouve entre fromdate à jour, alors il sera de retour dat record
Ok, vous avez déjà votre requête écrite, vous avez commenté. Pourquoi il ne fonctionne pas pour vous? Ne pas utiliser CURSOR, essayez d'utiliser votre commenté requête

OriginalL'auteur DharaPPatel | 2013-03-04