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 368 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 Fonksiyonları: Veritabanlarında Güçlü ve Esnek İşlemler

09.06.2023 yasinsunmaz 299 0

SQL (Structured Query Language), veritabanı yönetim sistemlerinde verileri yönetmek, sorgulamak ve işlemek için yaygın olarak kullanılan bir dildir. SQL fonksiyonl...

SQL'e Dair Her Şey OneSQL'de, Ne Ararsanız Bulabileceksiniz

03.06.2023 yasinsunmaz 251 0

Veri tabanı yöneticilerinin yanında zaman zaman yazılımcıların da SQL'i aktif olarak kullanması gerekebiliyor. SQL'i belli başlı şekillder kullanıp işlemlerimizi ...

SQL Server Offset Fetch Kullanımı

06.03.2023 yasinsunmaz 636 0

Merhabalar uzun zamandır yazı yazamadım. Ülke olarak zor zamanlar geçirmekteyiz. Herkese çok geçmiş olsun diyerek kısa bir yazı ile tekrar buradayım. SQL ...

SQL Server Sequence Kullanımı

14.01.2023 yasinsunmaz 1238 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. ...