Pythontr

husonet | Tarih: 29.08.2016

MS SQL SERVER CURSOR İLE CASE WHEN UPDATE İŞLEMİ

CURSOR İLE UPDATE EDİP FARKLI KOLONLARA DEĞER DÖNDÜRME İŞLEMİ

Sql Server da CURSOR ile aynı tablodaki bir kolona şart verip diğer kolonlarına değer döndüren kod aşağıdaki gibidir.




SELECT DOGUMTARIH,BKOD1 FROM PERKRT ORDER BY DOGUMTARIH


DECLARE @DOGUMTARIH SMALLDATETIME
DECLARE @BKOD1 SMALLINT
DECLARE @ILKSIRA SMALLINT
DECLARE @SONSIRA SMALLINT

DECLARE DOGUM_TARIH_AKTAR CURSOR FOR
SELECT DOGUMTARIH,BKOD1 FROM PERKRT ORDER BY DOGUMTARIH

OPEN DOGUM_TARIH_AKTAR FETCH NEXT FROM DOGUM_TARIH_AKTAR INTO @DOGUMTARIH, @BKOD1
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE PERKRT SET
@ILKSIRA =(CASE WHEN DOGUMTARIH ='1973-01-01' THEN 1 ELSE BKOD1 END),
@SONSIRA =(CASE WHEN DOGUMTARIH ='2016-01-01' THEN 2 END)
FETCH NEXT FROM DOGUM_TARIH_AKTAR INTO @DOGUMTARIH, @BKOD1
END
CLOSE DOGUM_TARIH_AKTAR
DEALLOCATE DOGUM_TARIH_AKTAR