Tôi muốn nói rằng bạn nên sử dụng SCOPE_IDENTITY()
dưới dạng @@identity
sẽ trả về danh tính của thứ cuối cùng được chèn (có thể không phải là thủ tục được lưu trữ của bạn nếu nhiều truy vấn đang chạy đồng thời).
Bạn cũng cần CHỌN nó chứ không phải TRẢ LẠI.
ExecuteScalar
sẽ trả về giá trị cột đầu tiên từ hàng đầu tiên của tập kết quả.
Vì vậy ...
SELECT SCOPE_IDENTITY();
có thể là nhiều hơn những gì bạn muốn.