我在SQL×Plus中用Insert语句插入一条记录,然后退出SQL*Plus,再进去用Select语句能够查询到这条记录。但是在OEM中,一直显示该表的行数为0.不知道何故?难道在SQL*Plus中还要使用Commit提交吗?另外在Oracle 10g中的OEM中能不能像Oracle9i的OEM一样打开表中的记录啊?我一直没有找到哦。

解决方案 »

  1.   

    谢谢superhsj,另外请教:也就是说SQL*Plus中Insert后的数据只是存在于内存中么,系统不会有CheckPoint进行检查存入数据库?
      

  2.   

    你用exit退出,就会提交
    如果直接关闭了cmd窗口,就会rollback
      

  3.   

    你在sql*plus里执行insert、update、delete后如果没有commit
    select看到的是你改变后的数据:如果执行rollback数据就会回到你操作前的状态;如果没有rollback而执行commit你的操作就会提交
    如果退出的话就如3楼所说的了
      

  4.   

    另,退出后,你再在OEM里查查就有了
      

  5.   

    不会,不是存在内存中,必须commit,否则关闭,就回滚
      

  6.   

    SQL> show autocommit
    autocommit OFF
    SQL>看看自动提交是否打开。