You can use cursors in SQL Server stored procedures to process data already in the database and take action accordingly. These can be used just like recordsets within standard code - for example:
CREATE PROCEDURE MyStoredProc
AS
DECLARE @ID int
DECLARE @Desc varchar(100)
DECLARE MyCursor CURSOR FOR
SELECT TOP 10 ID, Desc FROM MyTable
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @ID, @Desc
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT CAST(@ID as varchar(10)) + '--' + @Desc
FETCH NEXT FROM MyCursor INTO @ID, @Desc
END
CLOSE MyCursor
DEALLOCATE MyCursor