Anda dapat membuat ID yang baru dimasukkan menjadi output ke konsol SSMS seperti ini:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Anda dapat menggunakan ini juga dari mis. C#, saat Anda perlu mendapatkan ID kembali ke aplikasi panggilan Anda - cukup jalankan kueri SQL dengan .ExecuteScalar()
(bukan .ExecuteNonQuery()
) untuk membaca ID
. yang dihasilkan kembali.
Atau jika Anda perlu mengambil ID
yang baru dimasukkan di dalam T-SQL (misalnya untuk pemrosesan selanjutnya), Anda perlu membuat variabel tabel:
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
Dengan cara ini, Anda dapat memasukkan beberapa nilai ke dalam @OutputTbl
dan melakukan pemrosesan lebih lanjut pada mereka. Anda juga dapat menggunakan tabel sementara "biasa" (#temp
) atau bahkan tabel persisten "nyata" sebagai "target keluaran" Anda di sini.