Yandex Metrica
SQL Server OUTPUT Kullanımı Eklenen ve Düzenlenen 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ı Eklenen ve Düzenlenen Kaydın Bilgilerini Geriye Döndürme

09.01.2023 yasinsunmaz 1246 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ın bilgilerini bize geri döndürmesini sağlar. INSERTED ifadesi sadece INSERT, UPDATE komutları ile beraber kullanılır. Bazı durumlarda oldukça kullanışlı olabilir. SQL üzerinde yaptığınız bir ekleme işleminden sonra eklenen kayda ait istediğiniz alanları ya da tamamını geriye sonuç olarak döndürebilirsiniz. OUTPUT aynı zamanda silme (DELETE) işlemi için de kullanılır. Fakat bunu sonraki yazımda paylaşacağım.

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ı

INSERTED INSERT ve UPDATE sonucu oluşan yeni değerleri kapsar. Ekleme veya güncelleme işleminden sonra eklenen değere ait ID değerini ya da eklenen kayda ait istediğiniz bir alanı geriye döndürebilirsiniz. Bunlar yeterli değil ise eklenen kaydın tamamını da geriye döndürebilirsiniz.

Kayıt Ekledikten Sonra ID Değerini Geri Döndürme

Örneğin Product tablosuna bilgisayar ürününü girdiğimizde yeni oluşan kayda ait ProductID değerini bize geri döndürmesini sağlayabiliriz.

INSERT INTO Products (ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued)
OUTPUT INSERTED.ProductID EklenenUrununIdDegeri
VALUES (N'Bilgisayar', 1, 2, N'1 adet', 26000.00, 100, 10, 13, CONVERT(BIT, 'False'))

Kayıt Ekledikten Sonra Eklenen Kayda Ait Farklı Alanlardaki Değerleri Geri Döndürme

Ürün eklendikten sonra ürünün Id değerini, ürün adını ve birim fiyatını geri döndürecek.

INSERT INTO Products (ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued)
OUTPUT INSERTED.ProductID, INSERTED.ProductName, INSERTED.UnitPrice
VALUES (N'Tablet', 1, 2, N'1 adet', 13000.00, 200, 10, 13, CONVERT(BIT, 'False'))

Kayıt Ekledikten Sonra Eklenen Kayda Ait Tüm Alanlardaki Değerleri Geri Döndürme

Ürün eklendikten eklenen kayda ait tüm alanları geri döndürecek.

INSERT INTO Products (ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued)
OUTPUT INSERTED.*
VALUES (N'Telefon', 1, 2, N'1 adet', 15000.00, 200, 10, 13, CONVERT(BIT, 'False'))

Güncelleme Yapıldıktan Sonra Güncellenen Kayda Ait Yeni Fiyat Değerleri Geri Döndürme

Güncellenen ürüne ait yeni fiyat bilgisini geriye döndürecek.

UPDATE Products SET ProductName = N'Telefon', UnitPrice = 18000.00
OUTPUT INSERTED.UnitPrice
WHERE ProductID = 81

Güncelleme Yapıldıktan Sonra Güncellenen Kayda Ait Tüm Alanlardaki Değerleri Geri Döndürme

Güncellenen ürüne ait tüm bilgileri geriye döndürecek.

UPDATE Products SET ProductName = N'Telefon', UnitPrice = 19000.00
OUTPUT INSERTED.*
WHERE ProductID = 81

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 458 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 358 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 1084 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 1711 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ı Silinen Kaydın Bilgilerini Geriye Döndürme

11.01.2023 yasinsunmaz 452 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 bilgilerin...