EBS开发中更新表记录有好几中形式,FORM中更新,PLSQL中更新,其中都不可缺少并发处理
如果是在FORM中可以加入on-lock等,那么在PLSQL呢?
根据需求我们可以锁表也可以锁定特定的记录
可以先声明一个游标:
CURSOR cur_gms(p_m_id NUMBER) IS
SELECT *
FROM cux_gl_mon_state_all t
WHERE t.mon_state_id = p_m_id
FOR UPDATE OF t.mon_state_id NOWAIT;
然后再更新记录
FOR u_data IN cur_gms(l_m_id) LOOP
UPDATE cux_gl_mon_state_all t
SET t.transaction_type = p_transaction_type
WHERE t.mon_state_id = u_data.mon_state_id;
END LOOP;