我有一条插入语句  其中有一个NUMBER类型的值 值为 101150955  执行的时候就一直在excuting 就是不能执行成功  把这个NUMBER值 换成其他的就行  比如换成 101150956 或101150957 都行  真不知道是怎么回事

解决方案 »

  1.   

    最有可能就是发生了锁等待.如果楼主有DBA权限,可以用这个语句看下:SELECT (select username FROM v$session WHERE sid=a.sid) blocker, 
          a.sid, 
          'is blocking', 
          (select username FROM v$session WHERE sid=b.sid) blockee, 
          b.sid 
      FROM v$lock a, v$lock b 
    WHERE a.block = 1 
      AND b.request > 0 
      AND a.id1 = b.id1 
      AND a.id2 = b.id2 
    / 如果没有DBA权限,则请DBA帮忙处理。
      

  2.   

    是不是数据库中已经存在这条记录了?select * from tablename where col = 101150955;
    看看
      

  3.   

    建表语句呢?有什么约束没有。
    再次执行该sql,卡住时看v$session_wait看看是在等什么。
      

  4.   


    是不是101150955已经达到了你字段类型的最大值了,然后在存储位置上,数据文件的增长上又碎片了,无法存储过程这个数据。sql没有问题,业务没有问题,估计是oracle自身的问题了,oracle有时候也会产生一些莫名其妙的问题,建议找DBA来看下。