Trong SQL Server 2000, tôi có 1 Store Procedure(SP) sau:
CREATE PROCEDURE sp_addSell
(
....
)
AS
SET XACT_ABORT ON
BEGIN TRAN
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
/* Thực hiện các câu truy vấn (insert,update,delete) ở đây*/
if(@@rowcount=0) rollback tran
....
commit tran
GO
Theo cơ chế cài đặt ở trên, thì nếu có 2 giao tác cùng xảy ra trên cùng 1 đơn vị dữ liệu, thì giao tác 2 sẽ chờ giao tác 1 commit thì giao tác 2 sẽ thực hiện(Tôi hiểu vậy có đúng không?).Nhưng khi tôi thực hiện 2 giao tác trên cùng 1 lúc(đồng thời) thì chỉ có 1 giao tác commit(ví dụ tôi cùng insert đồng thời vào table tblSell thì thấy trong table tblSell chỉ được insert 1 dòng). Bạn nào có ý kiến gì giải thích cho mọi người trong box này biết với.Thanks!
Bookmarks