执行这两条sql就会出"正在执行",终止也终止不了,
`select * from SM_DICT_ITEM where sm_grkey ='CCFORM_TSGD_TYPE' for update
update SM_DICT_ITEM set sm_orderno =1 where sm_grkey ='CCFORM_TSGD_TYPE'`
执行下面的sql,啥也查不出来,只能查到本sql
select sid,serial#,sql_text,executions from v$sql join v$session on v$sql.sql_id=v$session.sql_id where cpu_time>20000;
你是机器人吗?
for update是排它锁。
对于这个表你在别的地方锁住了,所以你执行for update 无法获得锁。你的session就会一只等待锁释放。
这也是程序中悲观锁的原理。