Jika Anda memiliki satu kolom yang merupakan IDENTITAS, lakukan saja
INSERT MyTable DEFAULT VALUES; --allows no column list. The default will be the IDENTITY
SELECT SCOPE_IDENTITY();
Jika Anda tidak memiliki identitas, apakah Anda dapat mengaturnya? Ini adalah cara terbaik.. dan gunakan SQL di atas.
Jika tidak, Anda ingin menyisipkan baris baru
INSERT MyTable (admidid)
OUTPUT INSERTED.admidid --returns result to caller
SELECT ISNULL(MAX(admidid), 0) + 1 FROM MyTable
Catatan:
- Di bawah beban tinggi, solusi MAX mungkin gagal dengan duplikat
- SCOPE_IDENTITY setelah faktanya, tidak sebelumnya
- SCOPE_IDENTITY hanya berfungsi dengan kolom IDENTITY. Samakan semua kebodohan menggunakan IDENT_CURRENT
- Klausa keluaran menggantikan SCOPE_IDENTITY untuk solusi MAX