Lihat jawaban ini Ambil ID baris yang dimasukkan dalam SQL
Singkatnya, tidak ada cara lintas basis data untuk melakukan ini, kecuali MAX(ID) - tetapi itu bukan hasil yang dijamin dan memiliki banyak jebakan, mis.
- sisipan lain dapat berada di antara sisipan terakhir dan kueri maksimal
- tidak dapat digunakan dengan tabel transaksi tinggi (maks akan mengeluarkan kunci baca, metode khusus rdbms tidak membaca dari tabel mana pun)
Standar ANSI yang terkait dengan identity/autonumber/auto_increment/sequences pertama kali muncul di SQL:2003 menunggu implementasi oleh semua RDBMS utama. Kemungkinan besar akan menyerupai urutan Oracle/PostgreSQL.
Perubahan lain dalam SQL:2003 adalah OUTPUT USING CLAUSE
tapi sangat sedikit informasi tentangnya. Sybase dan SQL Server telah melakukan hal yang berbeda dengannya, jadi belum jelas bagaimana hasilnya. SQL Server mengimplementasikannya sebagai
INSERT INTO TBL(..)
OUTPUT inserted.identity_col
INTO @sometablevar
VALUES(..)