pero para que recorrer toda la tabla si solo vas a tener 4 o 5 coincidencias, por eso mejor hacerlo asi ;)
Código SQL:
Ver originalDECLARE @nombre VARCHAR(MAX)
DECLARE @id INT
DECLARE @fecha datetime
DECLARE @x INT
SET @fecha=getdate()
SET @x=1
SELECT *, IDENTITY(INT,1,1) AS rn INTO #temp FROM tabla WHERE fecha=@fecha
while @x<=(SELECT COUNT(*) FROM #temp)
BEGIN
SELECT @nombre=nombre,@id=id FROM #temp WHERE rn=@x
EXEC msdb.dbo.sp_send_dbmail @profile_name='Profile de prueba',
@recipients = @nombre,
@subject = "Fecha service",
@body = @Mensaje
UPDATE TABLE
SET fecha=DateAdd(DAY,150,fecha)
WHERE id=@id
SET @x=@x+1
END