มีหลายวิธีในการออกหลังจากแทรก
เมื่อคุณแทรกข้อมูลลงในตารางคุณสามารถใช้ส่วนคำสั่ง OUTPUT เพื่อส่งคืนสำเนาของข้อมูลที่ถูกแทรกลงในตาราง ส่วนคำสั่ง OUTPUT ใช้สองรูปแบบพื้นฐาน: OUTPUT และ OUTPUT INTO ใช้แบบฟอร์ม OUTPUT หากคุณต้องการส่งคืนข้อมูลไปยังแอปพลิเคชันการโทร ใช้แบบฟอร์ม OUTPUT INTO ถ้าคุณต้องการส่งคืนข้อมูลไปยังตารางหรือตัวแปรตาราง
DECLARE @MyTableVar TABLE (id INT,NAME NVARCHAR(50));
INSERT INTO tableName
(
NAME,....
)OUTPUT INSERTED.id,INSERTED.Name INTO @MyTableVar
VALUES
(
'test',...
)
IDENT_CURRENT : มันส่งกลับข้อมูลประจำตัวล่าสุดที่สร้างขึ้นสำหรับตารางหรือมุมมองเฉพาะในเซสชันใด ๆ
SELECT IDENT_CURRENT('tableName') AS [IDENT_CURRENT]
SCOPE_IDENTITY : มันส่งกลับข้อมูลประจำตัวล่าสุดจากเซสชั่นเดียวกันและขอบเขตเดียวกัน ขอบเขตคือกระบวนงาน / ทริกเกอร์ที่เก็บไว้ ฯลฯ
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY];
@@ IDENTITY : มันส่งกลับตัวตนล่าสุดจากเซสชั่นเดียวกัน
SELECT @@IDENTITY AS [@@IDENTITY];