多用户的软件。在两台机子上同时去访问同一个数据库。
执行的操作如下。
1.insert into max(a)+1 from table
2. select max(a) from table
这样我觉得应该会产生虚读,1,机子A执行 步骤1,假设a=6,则a变成7,
2,机子B也执行步骤1,则 a变成8,
3,机子A 执行2 得到a=8,
4,机子B 执行2 得到a=8
我想要的结果是,机子A应该是 a=7 机子B应该是 a=8
刚刚学习delphi,不知怎么实现,如果用锁,应该怎么用。用了以后,会不会使机子B长期等待。
请好心人给出代码。谢谢您了。
执行的操作如下。
1.insert into max(a)+1 from table
2. select max(a) from table
这样我觉得应该会产生虚读,1,机子A执行 步骤1,假设a=6,则a变成7,
2,机子B也执行步骤1,则 a变成8,
3,机子A 执行2 得到a=8,
4,机子B 执行2 得到a=8
我想要的结果是,机子A应该是 a=7 机子B应该是 a=8
刚刚学习delphi,不知怎么实现,如果用锁,应该怎么用。用了以后,会不会使机子B长期等待。
请好心人给出代码。谢谢您了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货