Hi, I'm trying to build a simple cursor to understand how they work. From the temp table, I would like to print out the values of the table, when I run my cursor it just keeps running the output of the first row infinitely. I just want it to print out the 7 rows in the table ...
IF OBJECT_ID('TempDB..#tTable','U') IS NOT NULL
DROP TABLE #tTable
CREATE TABLE #tTable
(
tID int,
minValue int,
maxValue int,
tName varchar(25)
)
insert into #tTable
(tID, MinValue, MaxValue, tName)
SELECT '1','0','3','0-3 Mths' UNION ALL
SELECT '2','3','6','3-6 Mths' UNION ALL
SELECT '3','6','9','6-9 Mths' UNION ALL
SELECT '4','9','12','9-12 Mths' UNION ALL
SELECT '5','12','18','12-18 Mths' UNION ALL
SELECT '6','18','24','18-24 Mths' UNION ALL
SELECT '7','24','9999','24+ Mths'
select * from #tTable
declare @tid as int;
declare @min as int;
declare @max as int;
declare @tn as varchar(25);
declare @otCursor as cursor;
set @otCursor = cursor for
select TenureID, MinMonths, MaxMonths, TenureName from #tTable;
open @otCursor;
fetch next from @otCursor into @tid,@min,@max,@tn
while @@fetch_status = 0
begin
print
cast(@tid as varchar(50)) + ' ' +
cast(@min as varchar(50)) + ' ' + cast(@max as varchar(50)) + ' ' +
@tn;
end
close @otCursor
deallocate @otCursor
Open in new window