两个程序同一时刻打开游标,如下所示,
最后当两个程序都成功提交后,在表t1里是否会插入重复记录,
也就是程序A更新t表的flag这个动作能否在程序B执行时得到体现?新增到t表的记录会否被程序B更新其flag字段?
如果存在重复插入,有什么好方法可以避免?
PHP code:
程序 程序A 程序B
时刻
T1 打开游标1,select * from t where t.flag = 'N'; 打开游标1,select * from t where t.flag = 'N';
T2 将查询到的所有记录Insert到表t1,并将t表中相应的记录的
flag更新为'Y',此外还向t表中添加一条flag为'N'的新记录.
T3 将查询到的所有记录Insert到表t1,并将t表中相应的记录
的flag更新为'Y',此外还向t表中添加一条flag为'N'的新记录..
T4 close游标1,commit;
T5 close游标1,commit;