sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo escribir un foreach en SQL Server?

Parece que quieres usar un CURSOR . Aunque la mayoría de las veces es mejor usar una solución basada en conjuntos, hay ocasiones en las que un CURSOR es la mejor solución. Sin saber más sobre su problema real, no podemos ayudarlo más que eso:

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