5.00 / 1 oy

Sql Server'da üretilen son ID'yi bulmak

Sql Server'da bir insert işlemi sonucu üretilmiş olan identity'i bulmak istiyorum. Bunun için:

select top 1 id from tablo order by id desc

gibi bir sorgu mu yazmalıyım yoksa bunun hazır bir fonksiyon gibi daha mantıklı vbir yolu var mı?

kaanbey

30.07.2019 22:42

Bu soru 2 kez yanıtlandı.

  • 31 Temmuz 2019 00:08
    31

    Insert işleminden sonra eklenen son kaydın ID değerini aşağıdaki gibi SCOPE_IDENTITY() fonksiyonu ile alabilirsiniz.

    INSERT INTO dbo.tbl_kisiler(ad,soyad) VALUES('adi','soyadi')
    SELECT SCOPE_IDENTITY()

    ID değerini bir değişkene aktarmak isterseniz de;

    set @id int=SCOPE_IDENTITY()

    Ancak paralel programlama ya da birden çok sunucu ile aynı veritabanınu kullanma gibi durumlarda SCOPE_IDENTITY() sizi yanıltabilir, çünkü aslında temel olarak yaptığı şey, bir tablodaki son Identity değerini getirmektir.

    Tablodaki son identity değerini elde etmek için aşağıdaki seçenekleri de kullanabilirsiniz:

    SELECT IDENT_CURRENT('TabloAdi')
    @@IDENTITY
    IDENT_CURRENT

     

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Sql Server'da üretilen son ID'yi bulmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.