Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: How to insert values?
Me wrote:
> CREATE TABLE EMPLOYEE
> (
> FNAME VARCHAR(15) NOT NULL,
> MINIT CHAR,
> LNAME VARCHAR(15) NOT NULL,
> SSN CHAR(9) NOT NULL,
> BDATE DATE,
> ADDRESS VARCHAR(30),
> SEX CHAR,
> SALARY DECIMAL(10,2),
> SUPERSSN CHAR(9),
> DNO INT NOT NULL,
> PRIMARY KEY(SSN),
> FOREIGN KEY(SUPERSSN) REFERENCES EMPLOYEE(SSN),
> FOREIGN KEY(DNO) REFERENCES DEPARTMENT(DNUMBER));
>
> CREATE TABLE DEPARTMENT
> (
> DNAME VARCHAR(15) NOT NULL,
> DNUMBER INT NOT NULL,
> MGRSSN CHAR(9) NOT NULLL,
> MGRSTARTDATE DATE,
> PRIMARY KEY(DNUMBER),
> UNIQUE(DNAME),
> FOREIGN KEY(MBRSSN) REFERENCES EMPLOYEE(SSN));
>
> CREATE TABLE DEPT_LOCATIONS
> (
> DNUMBER INT NOT NULL,
> DLOCATION VARCHAR(15) NOT NULL,
> PRIMARY KEY(DNUMBER,DLOCATION),
> FOREIGN KEY(DNUMBER) REFERENCES DEPARTMENT(DNUMBER));
>
> CREATE TABLE PROJECT
> (
> PNAME VARCHAR(15) NOT NULL,
> PNUMBER INT NOT NULL,
> PLOCATION VARCHAR(15),
> DNUM INT NOT NULL,
> PRIMARY KEY(PNUMBER),
> UNIQUE(PNAME),
> FOREIGN KEY(DNUM) REFERENCES DEPARTMENT (DNUMBER));
>
> CREATE TABLE WORKS_ON
> (
> ESSN CHAR(9) NOT NULL,
> PNO INT NOT NULL,
> HOURS DECIMAL(3,1) NOT NULL,
> PRIMARY KEY(ESSN,PNO),
> FOREIGN KEY(ESSN) REFERENCES EMPLOYEE(SSN),
> FOREIGN KEY(PNO) REFERENCES PROJECT(PNUMBER));
>
> CREATE TABLE DEPENDENT
> (
> ESSN CHAR(9) NOT NULL,
> DEPENDENT_NAME VARCHAR(15) NOT NULL,
> SEX CHAR,
> BDATE DATE,
> RELATIONSHIP VARCHAR(8),
> PRIMARY KEY(ESSN,DEPENDENT_NAME),
> FOREIGN KEY(ESSN) REFERENCES EMPLOYEE(SSN));
>
> What is the correct sequence of commands to create the above table?
>
> Any way I have managed to create this table but whenever I try to
> insert values I get the following similar error for all the tables:
>
> ORA-02291: integrity constraint (user.SYS_C00848) violated - parent
> key not found
>
> Thanks.
>
Cannot be done, unless you disable the foreign key constraints.
I would reconsider this design; there's no clear starting point.
And char and varchar are usually
coded as varchar2 in Oracle, to name another issue.
-- Regards, Frank van BortelReceived on Sun May 18 2003 - 13:45:18 CDT
![]() |
![]() |