Tôi có bảng dữ liệu kế thừa trong SQL Server 2005 có PK không có nhận dạng/tự động và không có quyền thực hiện.Cách tránh tình trạng chạy cơ sở dữ liệu khi tăng PK theo cách thủ công của hàng mới
Kết quả là, tôi buộc phải tạo bản ghi mới trong ASP.NET theo cách thủ công thông qua bảng ole "SELECT MAX (id) + 1 FROM" - trước khi chèn kỹ thuật.
Rõ ràng điều này tạo ra một điều kiện chủng tộc trên ID trong trường hợp chèn đồng thời.
Cách tốt nhất để giải quyết một cách duyên dáng sự kiện xảy ra xung đột cuộc đua là gì? Tôi đang tìm các ý tưởng VB.NET hoặc C# code dọc theo các dòng phát hiện một va chạm và sau đó lại cố gắng chèn không thành công bằng cách nhận được một tối đa (id) + 1. Điều này có thể được thực hiện?
Suy nghĩ? Bình luận? Sự khôn ngoan?
Cảm ơn bạn!
LƯU Ý: Điều gì xảy ra nếu tôi không thể thay đổi cơ sở dữ liệu theo bất kỳ cách nào?
Chỉ cần những gì tôi cần cảm ơn !!! –