刚学习使用ORACLE,使用PLSQL Developer 8 时遇到奇怪问题。INSERT INTO USERINFO (USERID,USERNAME,PASSWORD) VALUES (92,'ddd','P');
显示插入成功,在本窗口也能查到数据,在新打开一个SQL窗口就查不到。过了好长时间莫名其妙又查到了,也没有规律,好像是先暂存,过短时间在存到数据库(只是猜测)。
还有在command windows 输入语句:select * from userinfo;点击执行按钮(齿轮)没有看到执行结果,只是向下增加一个空行。
刚使用PLSQL Developer 还请各位大虾指教!

解决方案 »

  1.   

    preferrence->connection->session mode 设置为dual session,那么不论你commit与否,都可以看到数据.
      

  2.   

    其实不是楼主想的那样子的~
    操作Developer的时候,要特别注意事务的提交问题,建议楼主以后采用以下操作
    如果要修改数据时:
    1.lock表,点击小锁就可以!
    2.修改数据!
    3.确定,点击对勾!
    4.commit 点击上方的绿色按钮!因为Developer中看表的数据只能通过查询来看,所以如果楼主想查询完修改的话,可以在sql文后面加上for update关键字,这样就可以对检索出来的数据进行修改了!如果楼主有更好的用法,欢迎分享~
      

  3.   

    非常感谢3位,果然是没有递交,最后加一个COMMIT;就可以了。那个COMMAND WINDOWS的问题呢?还有我有个存储过程insert_dept,包含两个字符创参数,我在窗口运行:exec insert_dept('laoshi','xueshang');
    报无效的语句,是什么问题啊,格式不对?
      

  4.   

    在command窗口执行 exec insert_dept('laoshi','xueshang');
    在sql 窗口执行 begin exec insert_dept('laoshi','xueshang'); end;
      

  5.   

    执行完insert的语句要commit 或者 点左上方有个向下的绿色箭头
      

  6.   

      不commit的话是存不到SGA(系统缓存区)里的,而你的第二表应该是从SGA中读到的;至于此时有没存到数据库里(数据文件里),是不知道的,这件事是在适当的时机数据库才去做的。
      

  7.   

    貌似PL/SQL Developer在comand window 里执行后,关闭掉这个窗口才能及时刷新数据库。
      

  8.   

    PL/SQL Developer中插入后得“提交”,楼上的回答都很准确,也只能为蹭分而来了:)散分哦:)