T-SQL Çıktı (Output) İşlemi

T-SQL Çıktı (Output) İşlemi hakkında detaylı bilgilere bu konu başlığı altından ulaşabilirsiniz.

T-SQL Çıktı (Output) İşlemi

T-SQL Çıktı (Output) İşlemi

Bir tabloda etkilenen kayıtları (eklenmesi, silinmesi, güncellenmesi) bulmak için kullanabiliriz.

 

INSERTED

DELETED

INSERT

Yeni Eklenen Kayıt

---------------------

DELETE

---------------------

Kayıtların Silinmesi

UPDATE

Güncellenen Kayıt

Kayıtların Eski Durumu

Kullanımı:

OUTPUT alınacak_alanlar INTO aktarılacak_yer

Örnek: Adı a harfi ile başlayan öğrencilerin silinmesi sonucunla silinen kayıtları listeleyelim.

DECLARE @Silinen_Kayitlar TABLE (ad NVARCHAR(30), soyad NVARCHAR(30), tel NVARCHAR(20))

DELETE FROM OgrenciTanim

OUTPUT deleted.ad, deleted.soyad, deleted.tel INTO @Silinen_Kayitlar

WHERE ad LIKE 'a%'

SELECT * FROM @Silinen_Kayitlar

Örnek: Vize notu 50 ile 60 arasında olan derslere 5 puan 60 ile 70 arasında olan derslere 7 puan eklendikten sonra güncellenen derslerin hangi öğrenciye ait olduğunu ve güncellenen derslerin güncellenmeden önceki ve sonraki vize notlarını listeleyelim.

DECLARE @Kayit_Guncelleme TABLE (ogrid INT, dadi NVARCHAR(50), ilk_vize FLOAT, son_vize FLOAT)

UPDATE OgrDersleri
SET vize = vize + (
		CASE 
			WHEN vize BETWEEN 50
					AND 60
				THEN 5
			ELSE 7
			END
		)

OUTPUT inserted.ogrid, inserted.dadi, deleted.vize, inserted.vize INTO @Kayit_Guncelleme

WHERE vize BETWEEN 50 AND 70

SELECT OgrenciTanim.ad, dadi, ilk_vize, son_vize FROM @Kayit_Guncelleme AS Guncel

INNER JOIN OgrenciTanim ON Guncel.ogrid = OgrenciTanim.ogrid

Tepkiniz Nedir?

like

dislike

love

funny

angry

sad

wow