Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como escrever um foreach no SQL Server?


Você parece querer usar um CURSOR . Embora na maioria das vezes seja melhor usar uma solução baseada em conjunto, há algumas vezes em que um CURSOR é a melhor solução. Sem saber mais sobre o seu problema real, não podemos ajudá-lo mais do que isso:
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