这里是向部门表插于一条数据,却查看不到,为什么啊?
CREATE OR REPLACE PROCEDURE dept_add 
IS
BEGIN
  INSERT INTO departments
     VALUES(500,'products',100,1007);
     COMMIT;
END;
SELECT * FROM departments
WHERE department_id = 500;

解决方案 »

  1.   


    楼主存储过程有执行吗?exec dept_add;在查询看看..
      

  2.   

    应该执行成功了,但是当我再单独执行 INSERT INTO departments 
        VALUES(500,'products',100,1007); 
    时,提示:ORA-02291:integrity constraint <HR.DEPT_LOC_FK> violated-parent key not found
    怎么回事啊?
      

  3.   

    ORA-02291: integrity constraint (string.string) violated - parent key not found 
    Cause: A foreign key value has no matching primary key value.
    应该是你插入的时候外键约束错误
      

  4.   

    CREATE OR REPLACE PROCEDURE dept_add
    IS
    BEGIN
    INSERT INTO departments
    VALUES(280,'products',100,1000);
    COMMIT;
    END;
    /
      

  5.   

    看不到是因为insert没有执行成功呀 有外键的约束条件,你没有满足
    对于主外键的关系,你自己看下吧 很简单的,就不细说了
      

  6.   

    看下你的存储过程是否调用了.
    主外键的使用:外键在执行操作时如insert 在应用外键的字段上必须插入主键对应字段已有的数据.
      

  7.   

    先Insert外键所在表,然后再执行你的存储过程