select lastname, firstname from employees
order by lastname, firstname
declare contact_cursor scroll cursor for
select lastname, firstname from employees
order by lastname, firstname
open contact_cursor
— en sondaki kayıt
fetch last from employee_cursor
–en sondaki kayıtta kaldıyda ondan bir öncekk kayıt
fetch prior from employee_cursor
— cursor ın bulunduğu yerden 2 ilerideki kayıt
fetch absolute 2 from employee_cursor
— bulunduğu yerden 3 sonraki kayıt
fetch relative 3 from employees_cursor
— bir sonrakine gider
FETCH NEXT FROM employees_cursor
— bulunduğu yerden 2 önceki kayıt
fetch relative 2 from employees_cursor
close employee_cursor
DEALLOCATE emloyee_cursor
go
— prior en son kayıtta kalır bi öncekine birini gönderiri o-kutur..
— absolute ileri iki sonda kayıt kalmadıysa başadöner ilk iki kayıdı okur cursomrı gördüğü yerden sayar.cursordan sonra sayama başlar
–realive ise kendisinin en son okuduğu yerden okumaya devam eder
–en sonda yazılan kod deallocate remi boşaltamya yarar.
–priordan sonra relative çalışırırsan priordan sonra saymaya başlar.
—
declare @empfirstname varchar(50),@emplastname varchar(50)
declare @empcursor cursor for
select lastname, firstname from employees
order by lastname, firstname
open @empcursor
fetch next from empcursor
into @emplastname,@empfirstname — selectde ne okuduyda ona göre sıralamak zorundayız
while @@fetch_status = 0
begin
print ’employee :’ + @empfirstname + ‘ ‘ @emplastname
fetch next from empcursor
into @emplastname,@empfirstname
end
close empcursor
deallocate empcursor
go
SELECT OD.PRODUCTID,SUM(OD.QUANTITY) AS ‘QUANTITY’,
SUM(P.UNITSINSTOCK) AS
CASE WHEN SUM(
FROM [ORDER DETAILS] OD INNER JOIN PRODUCTS P
ON OD.PRODUCTID = P.PRODUCTID
SELECT * FROM KULLANICILAR
DECLARE @kullaniciID int,@adsoyad varchar(50), @kullanicitipi int
declare @temp_kullanicilar table
(kullaniciId int,
adsoyad varchar(50),
kullanicitipi int
)
declare kul_cursor cursor fast_forward read_only for
select kullanicilarId , adsoyad,kullanicitipi
from kullanicilar
order by 1 asc
open kul_cursor cursor
fetch next from kul_cursor
into @kullaniciId , @aysoyad, @kullanicitipi
while @@fetch_status
begin
if exists (select top 1 kullanicilarID from @temp_kullanicilar
where adsoyad = @adsoyad
begin
if (select kullanicitipi from @temp_kullanicilar
where adsoyad =@adsoyad)
end
end
close kul_cursor
deallocate kul_cursor
go
Sql Cursor Örnekleri
Hiç yorum yok:
Yorum Gönder