方案名为BOB中已存在表S,P,J,现在新建一个表SPJ,命令如下:
CREATE TABLE "BOB"."SPJ" (
         "SNO" VARCHAR2(10) NOT NULL,
         "PNO" VARCHAR2(10) NOT NULL,
         "JNO" VARCHAR2(10) NOT NULL, 
         "QTY" VARCHAR2(10) NOT NULL,
         PRIMARY KEY("SNO", "PNO", "JNO"), 
         FOREIGN KEY("SNO") REFERENCES "BOB"."S"("SNO"), 
         FOREIGN KEY("PNO") REFERENCES "BOB"."P"("PNO"),
         FOREIGN KEY("JNO") REFERENCES "BOB"."J"("JNO")
         )  
    TABLESPACE "BOB" ;
然后我用insert语句插入数据,然后用exp将表SPJ导出,但是导出提示导出0个数据,然后我重启之后数据就自动不见了,还请高手指点……

解决方案 »

  1.   

    是不是没有设置自动commit,在insert之后显式commit下试试。
      

  2.   

    首先先谢谢你,现在的数据已经保存了,可是我还有点不明白,我在创建其他的表的时候都没有用commit,但是都能保存,但是为什么就这个不行,还有就是虽然现在的数据在了,但是我用exp导出的时候任然显示"0行被导出",还请高手继续指点,谢谢……
      

  3.   

    我用exp导出的时候任然显示"0行被导出"
    ======================================
    试试 rows=y
      

  4.   

    DML(INSERT,UPDATE,DELETE)都是有COMMIT的
    DDL(CREATE,ALTER,DROP)会自动COMMIT的不需要手动COMMT
      

  5.   

    谢谢各位,我的问题成功解决,是我太菜了,我以为权限高的就能对表进行导出,所以我用system用户导出用户bob中的表,所以总是报错,刚才意识到,,谢谢各位支持!!!