@@IDENTITY, son yapılan INSERT işlemiyle otomatik olarak oluşturulan identity değerini döndüren bir sistem fonksiyonudur. Son eklenen kimlik değerini verir. İlgili tabloya insert işlemi yapıldıktan sonra komut çalıştırıldığında Tablo için en son yapılan insert değerini vermektedir.
Aşağıdaki komut ile sorguyu çalıştırdığınızda en son insert edilen tablonun identity değerini vermektedir.
insert into [dbo].[Kategoriler]([KategoriAdi],[Tanimi]) values ('K1','MALZEME')
SELECT @@IDENTITY

İlgili tabloya bakıldığında en son identity değerinin aynı olduğu görülmektedir.,

Tekrardan belirtmek gerekir ki başka bir tabloya insert yapıldığında ilgili tablonun identity değeri gelmektedir.
Çoklu INSERT işlemlerinde sadece son eklenen kimlik değerini verir. Eğer INSERT işlemi bir trigger tetiklerse ve bu trigger başka bir tabloya veri eklerse, @@IDENTITY trigger’ın eklediği son kimlik değerini döndürür. Trigger kullanılan durumlarda @@IDENTITY yerine @@SCOPE_IDENTITY() ifadesi kullanılmaktadır.
Normal identity yapısı trigger durumlarında örneğin bir insert işlemi varsa trigger üzerinde identity değeri trigger içerisindeki insert edilen son identity değerini vermektedir. Bu sebepten ident_current yapısı kullanılmaktadır.
Aşağıdaki komut ile bir tablo üzerinde bulunan en son primary key değerini bulabiliriz. Bu işlemi max fonksiyonu ilede bulabiliriz. Aşağıdaki komut bize IDENTITY değerini vermektedir.
select IDENT_CURRENT('YolcuBilgileri')
@@ROWCOUNT Komutu
@@ROWCOUNT, en son çalıştırılan SQL ifadesinin etkilediği satır sayısını döndürür. Etkilenen satır sayısını verir. Her SQL ifadesinden sonra güncellenir. SELECT, INSERT, UPDATE, DELETE ve MERGE gibi komutlarla çalışır.
Aşağıdaki ifade insert işleminden sonra bir kaydın eklendiğini göstermektedir.
insert into [dbo].[Kategoriler]([KategoriAdi],[Tanimi]) values ('K1','MALZEME')
select @@ROWCOUNT

Aşağıdaki komut ilgili select sorgusu sonucu kaç kaydın etkilendiği yazılmaktadır.

Aşağıdaki komut ile bir tablo üzerinde bulunan en son primary key değerini bulabiliriz. Bu işlemi max fonksiyonu ilede bulabiliriz.
select IDENT_CURRENT('YolcuBilgileri')
SELECT MAX(KayitNo) FROM YolcuBilgileri
Başka makalede görüşmek dileğiyle..
“Şüphesiz ki bu Kur’an en doğru yola iletir; iyi davranışlarda bulunan müminlere, kendileri için büyük bir mükâfat olduğunu müjdeler.”İsra Suresi; 9. Ayet