Dvě základní šablony kurzoru. Liší se především syntakticky, kdy druhá varianta nevyžaduje opakované kopírování seznamu parametrů v příkazu FETCH, což je výhodné zejména tehdy, načítá-li kurzor velké množství sloupců z deklarativního dotazu.
-- Varianta 1 DECLARE @name NVARCHAR(128) DECLARE cur CURSOR FAST_FORWARD FOR SELECT name FROM sys.tables WHERE name LIKE 'tbl%' ORDER BY name OPEN cur FETCH NEXT FROM cur INTO @name WHILE @@FETCH_STATUS = 0 BEGIN EXECUTE ('delete from ' + @name) FETCH NEXT FROM cur INTO @name END CLOSE cur DEALLOCATE cur -- Varianta 2 DECLARE @name NVARCHAR(128) DECLARE cur CURSOR FAST_FORWARD FOR SELECT name FROM sys.tables WHERE name LIKE 'tbl%' ORDER BY name OPEN cur WHILE 1 = 1 BEGIN FETCH NEXT FROM cur INTO @Name IF @@FETCH_STATUS <> 0 BREAK EXECUTE ('delete from ' + @name) END CLOSE cur DEALLOCATE cur