如何在plSql查询数据查出的数据可编辑

  • Post author:
  • Post category:其他


最近开发项目时要经常自己造数据,遇到好多查询出数据时要进行修改。上网查询资料 总结如下:

plSql允许查询数据可以编辑的条件是

必须查询出rowid

在某个表上点击query data 出现的sql语句是 :select * from student t

在某个表上点击 edit data 出现的sql语句是:select t.*, t.rowid from student t

说明要编辑必须带有rowid

比如我们查询这样一条语句

select A,B from AB

让他可以编辑的办法

select t.A,t.B,t.rowid from AB t

查询后 点击查询结果工具栏上的 那个锁

的标志

就可以编辑下面的数据了,记得编辑之后不要忘记提交。

方法2:

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

比如sql语句:select * from student t

添加 for update: select * from student t for update

然后在点击

的标志就可以编辑了。

但是二者还是有区别的:

select … for update不如select a.*,a.rowid from t,因为前者可能会造成锁表,后者不会锁表。

FOR UPDATE会在你用的时候在表上加一个锁,别人就没法对表进行操作了,有时候你打开多个窗口,

而且多个窗口里都用了FOR UPDATE,就会出现一些让你莫名其妙的错误。比如:报错内容:ORA-01406:fetched column value was truncated

因为用到数据库的人不止我们一个人。