ali_mnkt
دوشنبه 11 خرداد 1388, 01:17 صبح
دوستان من در شبیه سازی همزمانی یه مشگل کوچولو دارم:
یه transaction به صورت زیر در managment studio به صورت زیر می نویسم :
set transaction Isolation Level Serializable
begin transaction
update customer set id=13;
where id=12
حلا یکی دیگه هم به صورت زیر اضافه می کنم :
begin transaction
insert into customer(id,price) values(12,1000)
حالا کد اول رو اجرا می کنم و بعد کد دوم رو اما می بینم که کد دوم اجرا می شه در صورتی
که چون در کد اول من از isolation level serializable استفاده کردم و هنوز تکلیف commit
یا rollback شدن اون مشخص نشده قاعدتا باید کد دوم به wait برود . اما چرا نمی ره ؟
یه transaction به صورت زیر در managment studio به صورت زیر می نویسم :
set transaction Isolation Level Serializable
begin transaction
update customer set id=13;
where id=12
حلا یکی دیگه هم به صورت زیر اضافه می کنم :
begin transaction
insert into customer(id,price) values(12,1000)
حالا کد اول رو اجرا می کنم و بعد کد دوم رو اما می بینم که کد دوم اجرا می شه در صورتی
که چون در کد اول من از isolation level serializable استفاده کردم و هنوز تکلیف commit
یا rollback شدن اون مشخص نشده قاعدتا باید کد دوم به wait برود . اما چرا نمی ره ؟