今天在用pl/sql测试程序时,出现了如下问题:
首先在PL/SQL中更新了一条记录某一个字段的信息(update语句),然后自己的程序中也更新这条记录,此时出现了程序卡死的现象。如果自己的程序更新没有经过Pl/SQL更新的记录,则没有此问题的发生。
由此分析是数据库update的问题。网上查到如果更新了一条记录而没有commit,其他程序在更新这条数据时就会卡死。这种现象就类似于两个程序同时写一块内存一样,一个程序写了内存只是存在缓存中,没有提交到内存中。但系统已经将这块内存锁死,所以其他程序试图写这块内存时就卡住了,类似于死锁。
知道了问题原因之后,在Pl/SQL更新数据之后提交。程序再更新这条记录就没有问题了。
本文详细阐述了在使用PL/SQL更新数据后,由于未正确提交导致其他程序更新同一数据时出现卡死现象的原因,并提供了解决方案。通过在PL/SQL更新操作后进行提交,避免了类似内存冲突的问题,确保了程序流畅运行。
141

被折叠的 条评论
为什么被折叠?



