在sql*plus中用create创建了一个数据表,将sql*plus关闭后重新打开,在其中直接用select语句查询先前所建表中的某个域时,提示出错,请教高手这是为什么?是不是在先前建表后还有什么要保存的步骤或再重新打开查询前需要用什么载入语句啥的?
注:我用的是Oracle8版本

解决方案 »

  1.   

    不应该呀 是不是sql语句有问题? 把错误贴出看看
      

  2.   

    SQL>  CREATE TABLE Position_table
      2   (
      3    ID INTEGER PRIMARY KEY,
      4    car_name VARCHAR2(30),
      5    position_name VARCHAR2(30)
      6   );表已创建。SQL> INSERT INTO position_table VALUES
      2  (1, '卡车', '一');已创建 1 行。SQL> INSERT INTO position_table VALUES
      2  (2, '客车', '二');已创建 1 行。
    ///////////////////////////////////////
    然后我将sql plus关了。
    重新打开了一个sql plus,查询时提示未选定行如下:
    连接到: 
    Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - ProductionSQL> select ID from position_table;未选定行SQL> 
      

  3.   

    正常来说,你SQLPLUS关掉时会自动提交的,出现你这状态可能两个原因:1、看你大小写比较混乱,你统一下的表名和字段名的大小写2、insert完后,commit下再退sqlplus。
      

  4.   

    使用数据操纵语言(insert,update,delete)后,一般都要使用数据事务处理语句,这样才能把修改的数据保存到外存的数据库中,你用下commit,或退出时使用exit,这样再查一下
      

  5.   


    SQL> INSERT INTO position_table VALUES
      2 (1, '卡车', '一');已创建 1 行。SQL> INSERT INTO position_table VALUES
      2 (2, '客车', '二');
    SQL>COMMIT;
    缺少提交。
      

  6.   

    Oracle8还没用过
    你的问题就是没有进行显示commit;
      

  7.   

    就看你建表后插入数据有没有 递交了 
    commit;