-
@@identity
hàm trả về danh tính cuối cùng được tạo trong cùng một phiên. -
scope_identity()
hàm trả về danh tính cuối cùng được tạo trong cùng một phiên và cùng phạm vi. -
ident_current(name)
trả về danh tính cuối cùng được tạo cho một bảng hoặc chế độ xem cụ thể trong bất kỳ phiên nào. -
identity()
hàm không được sử dụng để lấy danh tính, nó được sử dụng để tạo danh tính trongselect...into
truy vấn.
Phiên là kết nối cơ sở dữ liệu. Phạm vi là truy vấn hiện tại hoặc thủ tục được lưu trữ hiện tại.
Một tình huống trong đó scope_identity()
và @@identity
các chức năng khác nhau, là nếu bạn có một trình kích hoạt trên bàn. Nếu bạn có truy vấn chèn bản ghi, khiến trình kích hoạt chèn bản ghi khác vào đâu đó, thì scope_identity()
hàm sẽ trả về danh tính được tạo bởi truy vấn, trong khi @@identity
hàm sẽ trả về danh tính được tạo bởi trình kích hoạt.
Vì vậy, thông thường bạn sẽ sử dụng scope_identity()
chức năng.