zoukankan      html  css  js  c++  java
  • 【转】PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理

    【转】PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理

    只要有人用了: 

    select t.* from 表名  t where 字段=xxx  for update

    而不是: 

    select t.rowid,t.* from 表名  t where 字段=xxx  for update

    进行数据更新操作,就会出现这种情况.

    for update 不带rowid,是一种很傻X的行为,就像使用svn进行源码修改不先获取最新一样.

    如果是在客户现场的真实库中这样操作还会导致客户业务处理挂起,后果是很严重的.

    因此,在项目组内尤其是新人需要强调相关操作规范,使相关动作形成习惯.

    要查询是谁进行了全表锁定,参考以下语句:

    ----查询oracle用户名,机器名,锁表对象

    SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,

    l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time

    FROM v$locked_object l, all_objects o, v$session s

    WHERE l.object_id = o.object_id

    AND l.session_id = s.sid

    ORDER BY sid, s.serial# ;

    更具体内容详见: 

    http://www.cnblogs.com/hangwq/p/3527969.html

    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    元组类型
    字符串类型
    列表类型
    python 循环
    python语句
    python运算符
    python1
    软件管理
    rpm yum
    LVM
  • 原文地址:https://www.cnblogs.com/zzzzw/p/5464527.html
Copyright © 2011-2022 走看看