Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come scrivere un foreach in SQL Server?

Sembra che tu voglia usare un CURSOR . Sebbene la maggior parte delle volte sia meglio utilizzare una soluzione basata su insiemi, ci sono alcune volte in cui un CURSOR è la soluzione migliore. Senza sapere di più sul tuo vero problema, non possiamo aiutarti di più:

DECLARE @PractitionerId int

DECLARE MY_CURSOR CURSOR 
  LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR 
SELECT DISTINCT PractitionerId 
FROM Practitioner

OPEN MY_CURSOR
FETCH NEXT FROM MY_CURSOR INTO @PractitionerId
WHILE @@FETCH_STATUS = 0
BEGIN 
    --Do something with Id here
    PRINT @PractitionerId
    FETCH NEXT FROM MY_CURSOR INTO @PractitionerId
END
CLOSE MY_CURSOR
DEALLOCATE MY_CURSOR