Herkese merhaba,
Bu yazıda sizlere SQL Server’da cursor kullanarak delete işleminin nasıl yapılacağından bahsedeceğim. Örnek işlemi Northwind veritabanı kullanarak yaptık. Kodları aşağıda görmektesiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
--Değişken tanımlama işlemi DECLARE @UrunID INT --Değişkene değer atama işlemi. Ürün id'si bir olanları sileceğiz. SET @UrunID = 1 --Cursor tanımlama işlemi. Cursor ürünid üzerinde dönüyor. DECLARE crs CURSOR FOR SELECT ProductID FROM dbo.[Order Details] WHERE ProductID=@UrunID --Cursor açılıyor. OPEN crs FETCH NEXT FROM crs INTO @UrunID WHILE @@FETCH_STATUS = 0 BEGIN --Silme işlemini yapıyoruz. DELETE FROM dbo.[Order Details] WHERE CURRENT OF crs FETCH NEXT FROM crs INTO @UrunID END --Cursor'u kapatıyoruz. CLOSE crs --Curosr'u öldürüyoruz. DEALLOCATE crs |
Yukarıdaki işlemde ürünler tablosunda ürün id’si bire eşit olanları silme işlemi yaptık. Bu tarz işlemlerde cursor kullanımı oldukça pratik olacaktır.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.
