Sayfalar

18 Aralık 2008 Perşembe

SQL'de bir tablodaki kayıtlar arasında gezmek CURSOR FOR

Seçilen ilçeye göre uzaklık birimlerini veren bir tablomuz (tblkargo) olduğunu varsayalım. Bu tablo ilçeye göre uzaklık kolonu içerisinde U(uzak) , O(orta), Y(yakın) değerlerini içersin. Birde sabit kargo bedelimiz olsun, bu bedeli U ise 3, O ise 2, Y ise aynen alarak illere göre kargo bedeli çıkartalım. Ve bu sonuçları tblkargo tablosundaki fiyat kolonuna update edelim.

DECLARE @SabitKargoBedeli AS MONEY -- değişken tanımlama
SET @SabitKargoBedeli= 3 -- SabitKargoBedeline 3 atandı

DECLARE @uzaklik AS CHAR
DECLARE @ilceId AS INT
DECLARE @carpan AS INT
DECLARE kargo_cursor CURSOR
FOR
Select uzaklik,ilceId from tblkargo
OPEN kargo_cursor
FETCH NEXT FROM kargo_cursor INTO @uzaklik,@ilceId
WHILE (@@FETCH_STATUS <> -1) -- bitti mi
BEGIN
IF @uzaklik='U'
SET @carpan=3
ELSE IF @uzaklik='O'
SET @carpan=2
ELSE
SET @carpan=1

UPDATE tblkargo SET fiyat= @SabitKargoBedeli * @carpan WHERE ilceId=@ilceId

FETCH NEXT FROM kargo_cursor INTO @uzaklik,@ilceId
END
CLOSE kargo_cursor
DEALLOCATE kargo_cursor

Hiç yorum yok:

Yorum Gönder

Yorumunuzu bırakın.