Oracle update语句执行不了

updateapproved_maininfotsett.declareflag='y'where1=1andt.seqcode=263这是我的sql语句,放到plsql... update approved_maininfo t set t.declareflag='y' where 1=1 and t.seqcode=263 这是我的sql语句,放到plsql中执行,不报错,一直在执行中,点击中断也无法中断,有知道为什么的吗?在线等...... 展开
 我来答
百度网友7b25ad27
推荐于2018-03-19 · TA获得超过1853个赞
知道小有建树答主
回答量:1462
采纳率:0%
帮助的人:708万
展开全部
可能这个表被别的用户锁了;

select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo, dba_objects ao, v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;

--杀掉会话
alter system kill session 'sid,serial#';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhiqing999
推荐于2016-03-31 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3341万
展开全部
可能这一行数据,被别的 用户/会话 锁定了。

Oracle 多用户之间锁的处理
http://hi.baidu.com/wangzhiqing999/blog/item/43b64104ff39f300738b657c.html
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feixianxxx
2011-01-08 · TA获得超过2202个赞
知道大有可为答主
回答量:1273
采纳率:100%
帮助的人:1757万
展开全部
可能是更新的数据量太大了 造成死锁的原因

--查询表锁
SELECT /*+ rule */
lpad(' ', decode(l.xidusn, 0, 3, 0)) || l.oracle_username User_name,
o.owner,
o.object_name,
o.object_type,
s.sid,
s.serial#
FROM v$locked_object l, dba_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY o.object_id, xidusn DESC;

--下面的sid,serial#用上面的相应字段替换
ALTER system kill session 'sid,serial#';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
psychic0111
2011-01-09 · TA获得超过999个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:223万
展开全部
这个UPDATE语句肯定是没任务问题的,关键是你的表数据,还有其它逻辑,或操作造成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星夜迷朦
2011-01-08 · TA获得超过296个赞
知道答主
回答量:166
采纳率:0%
帮助的人:90.2万
展开全部
肯定是被锁定了,如上。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式