在ORACLE中可以直接生成.sql文件吗,能直接对其修改吗?如果不能,对其修改,需要什么工具?

解决方案 »

  1.   

    .sql文件中代码,修改后出现问题drop user printer cascade;
    CREATE USER printer IDENTIFIED BY printer;
    GRANT dba TO printer;connect printer/printer;drop table pm_area;
    CREATE TABLE pm_area
       (
        AreaId       NUMBER        CONSTRAINT pm_areaid PRIMARY KEY, 
        AreaName     VARCHAR2(20)  NOT NULL,
        AreaCode     CHAR(6) NOT NULL,
        Agen         CHAR(20)   NOT NULL   /*这句原来没有,加上以后出错*/
        ) PCTFREE 5 PCTUSED 75; 
    /*这中间还有很多表,不过都没有修改,也没有报错*//*
    INSERT INTO pm_area(AreaId,AreaName,AreaCode) VALUES(0,'所有设置','000','00000')
                *
    ERROR 位于第 1 行:
    ORA-00913: 值过多
    以上是“下面这句”的报错信息,应该是加的字段没起作用,为什么?
    */INSERT INTO pm_area(AreaId,AreaName,AreaCode) VALUES(0,'所有设置','000','00000');/*
    INSERT INTO pm_systemparameter(AreaId,SysparaCode,SysparaValue,SysparaDesc) VALUES(0,'01','1','默认?
    *
    ERROR 位于第 1 行:
    ORA-02291: 违反完整约束条件 (PRINTER.SYS_C003270) - 未找到父项关键字
    这是“下面”的报错信息,好想是长度不够,默认那个"?"号是“C上加一个/”的乱码。
    */INSERT INTO pm_systemparameter(AreaId,SysparaCode,SysparaValue,SysparaDesc) VALUES(0,'01','1','默认每月打印次数');
      

  2.   

    用toad可以直接生成.sql的文件
      

  3.   

    --这句改为
    INSERT INTO pm_area(AreaId,AreaName,AreaCode,Agen) VALUES(0,'所有设置','000','00000');
    --下面的那个错误
    ORA-02291: 违反完整约束条件 (PRINTER.SYS_C003270) - 未找到父项关键字
    这个错误应该是你应该有这个表的主表,也就是主外键的错误,应当先在主表添加,再到从表添加
      

  4.   

    给你做个例子:
    --主表
    CREATE TABLE    STUDENT(
    ID CHAR(10), 
     NAME VARCHAR(8),
    SEX    CHAR(1)
    ); 
      
    ALTER    TABLE    STUDENT    ADD    CONSTRAINT    PK_STUDENT    PRIMARY    KEY(ID);  
    --从表
    CREATE TABLE SCORE( 
     ID CHAR(10),
     MATH      NUMBER(5,2));   
     ALTER TABLE SCORE ADD CONSTRAINT FK_SCROE FOREIGN KEY(ID) REFERENCES   STUDENT(ID);
    这时你做个插入的操作:
    insert into score(id,math) values(1,10);
    --ORA-02291: 违反完整约束条件 (ADVERTISE.FK_SCROE) - 未找到父项关键字
      

  5.   

    不好意思,知道了,晕啊,我忘在Insert into中加上Agen这个字段了谢谢啊,本来是用Toad编辑的,还以为出问题呢,搞了半天还是