23. mai 2008

MSSQL : kui üldse kursoreid kasutad, siis kasuta kiireid

Ütleme nii, et kui vähegi võimalik, võiks kursoritest hoiduda. Reaalsuses pole see võimalik. Siin üks näide kursorist, mis serveris suht kiire.


set nocount on

create table #test1(a varchar(25))
insert into #test1(a)
values('esimene')
insert into #test1(a)
values('viimane')

declare @pintcurs cursor,
@amuutuja varchar(25)


set @pintcurs=cursor fast_forward for
select a
from #test1

open @pintcurs
fetch from @pintcurs
into @amuutuja

while (@@fetch_status=0)
begin
select @amuutuja

fetch from @pintcurs
into @amuutuja
end

close @pintcurs
deallocate @pintcurs

Kommentaare ei ole: