• 如何让plsql查询的数据可编辑及两种方法的比较


    我们执行一个查询sql,比如select * from Table t;的时候,

    想要去编辑他的结果,点击工具栏上那个小锁,会有提示:“这些查询结果不可更新,请包括ROWID..........”

    然后我们来看plsql自带的一些功能

    在某个表名上右击点击“查询数据”出现的sql语句是:select * from Table t;

    在某个表名上右击点击“修改数据”出现的sql语句是:select t.*, t.rowid from Table t;

    方法1:

    比如我们查询这样一条sql:select A,B from AB

    如果想让他编辑的话可以改为以下sql:select t.A,t.B,t.rowid from AB t

    查询后 点击查询结果工具栏上的 那个小锁就可以编辑查询的数据了,然后点击对号,再去工具栏提交事务就OK了;

    方法2:

    比如不想查rowid  可以使用for update 然后在编辑

    比如sql语句:select * from Table t

    改为: select * from Table t for update

    查询后 点击查询结果工具栏上的 那个小锁,就可以编辑查询的数据了,然后点击对号,再去工具栏提交事务就OK了;

    PS:

    仔细看的话,会发现二者是有区别的,前者是当点击小锁,修改之后再点击对号,事务的提交和回滚按钮才亮。

    而后者是执行完for update的sql,事务的提交和回滚按钮就亮了,这样做的话就会锁住记录,除非你的操作完成后手动提交或者回滚,

    否则其他的所有操作都处于等待状态,不推荐。

    结论:推荐前者,只有当点击对号才去锁记录。select t.*,rowid from Table t;

  • 相关阅读:
    SWT中如何居中显示?
    项目一 默认构造函数和带参数的构造函数
    解决ubuntu中java1.6显示中文乱码问题
    网络程序为什么要处理SIGPIPE
    SQL 数据类型大全
    poj1275 差分约束
    Oracle分组
    Android利用ViewPager实现滑动广告板
    扩展spring mvc的拦截器,实现AOP的环绕增加效果
    [Ext.Net]GridPanel之存储过程分页Sql版本
  • 原文地址:https://www.cnblogs.com/hangao/p/5390099.html
Copyright © 2020-2023  润新知