Yandex Metrica
SQL Server OUTPUT Kullanımı Silinen Kaydın Bilgilerini Geriye Döndürme - Yasin Sunmaz

Yasin Sunmaz

Kodladıkça değişen bir dünya...

SQL Server OUTPUT Kullanımı Silinen Kaydın Bilgilerini Geriye Döndürme

11.01.2023 yasinsunmaz 122 0

Bu yazımda SQL Server'da OUTPUT ile DELETED komutunun yapısını inceleyeceğiz. Kayıtlar üzerinde yapılan silme işlemlerinde, kaydın bilgilerini bize geri döndürmesini sağlar. DELETED ifadesi sadece DELETE komutu ile beraber kullanılır. Bazı durumlarda oldukça kullanışlı olabilir. SQL üzerinde yaptığınız bir silme işleminden sonra silinen kayda ait istediğiniz alanları ya da tamamını geriye sonuç olarak döndürebilirsiniz. OUTPUT aynı zamanda ekleme, silme (DELETE) işlemi için de kullanılır. SQL Server OUTPUT Kullanımı Eklenen ve Düzenlenen Kaydın Bilgilerini Geriye Döndürme yazımı okuyarak OUTPUT'un diğer kullanım şekillerini inceleyebilirsiniz.

Bu yazdığım sorguları Nortwind veri tabanı üzerinden yaptım. Veri tabanını indirmek için buraya tıklayabilirsiniz. Veri tabanını SQL Server üzerinden açıp script kodunu çalıştırabilirsiniz. SQL Server'da script dosyasını nasıl çalıştırılır bilmiyorsanız SQL Server Script Alma ve Çalıştırma adlı yazılımı inceleyebilirsiniz.

OUTPUT Kullanımı

DELETED DELETE sonucunda oluşan mevcut değerleri kapsar. Silme işleminden sonra silinen değere ait ID değerini ya da silinen kayda ait istediğiniz bir alanı geriye döndürebilirsiniz. Bunlar yeterli değil ise silinen kaydın tamamını da geriye döndürebilirsiniz.

Silinen Sipariş Detayının Sipariş Numaralarını Geriye Döndürme

Örneğin OrderDetails tablosunda sipariş bilgileri bulunmaktadır. Bu siparişlerin iki tanesini sildiğimizde geriye sildiğimiz sipariş numarasını döndürecektir.

DELETE od
  OUTPUT DELETED.OrderID
    FROM OrderDetails od
    JOIN Products p
      ON p.ProductID = od.ProductID
  WHERE OrderID IN( 10257,10258)

Silinen Sipariş Detayının Tüm Bilgilerini Geriye Döndürme

Örneğin OrderDetails tablosunda sipariş bilgileri bulunmaktadır. Bu siparişlerin iki tanesini sildiğimizde geriye sildiğimiz sipariş numarasına ait tüm bilgileri döndürecektir.

DELETE od
  OUTPUT DELETED.*
    FROM OrderDetails od
    JOIN Products p
      ON p.ProductID = od.ProductID
  WHERE OrderID IN( 10257,10258)

Umarım faydalı olmuştur. İyi çalışmalar.

  • Yorum yapabilmek için giriş yapmalısınız. Giriş yapmak için tıklayınız.

Diğer Yazılar

SQL Server Sequence Kullanımı

14.01.2023 yasinsunmaz 95 0

Veritabanında yeni keşfettiğim Sequence özelliğini sizlerle paylaşmak isterim. Squence genel olarak belirli değerler arasında numeric ve sıralı sayılar üretir. ...

SQL Server OUTPUT Kullanımı Eklenen ve Düzenlenen Kaydın Bilgilerini Geriye Döndürme

09.01.2023 yasinsunmaz 88 0

Bu yazımda SQL Server'da OUTPUT ile INSERTED komutunun yapısını inceleyeceğiz. Yeni bir kayıt ekleme ya da üzerinde değişiklik yapılan işlemlerde, kayd...

SQL Server'da CASE WHEN Kullanımı

08.01.2023 yasinsunmaz 107 0

SQL Server'da CASE WHEN yapısını bu yazımda inceleyeceğiz. CASE WHEN ile belirli koşullarda farklı çıktılar ya da işlemler yapabilmek için kullanabiliyoruz. SQL&#...

Conversion Failed When Converting The Nvarchar Value 'xxxx' to Data Type Int Hatası Çözümü

20.09.2022 yasinsunmaz 162 0

SQL Server'da önceden oluşturulmuş olan bir view'de bir zaman sonra veri getiremediğini ve Conversion Failed When Converting The Nvarchar Value '   ...