我遇到这个错误很奇怪!我建了4张表,其中三张都是独立的,第四张表的主属性组是用前三张表的主键组成的,请看如下:
S表
CREATE TABLE S
(
SNO CHAR(2) 
  PRIMARY KEY,
SNAME VARCHAR(8),
STATUS INT,
CITY VARCHAR(12)
);P表
CREATE TABLE P
(
PNO CHAR(2) 
  PRIMARY KEY,
PNAME VARCHAR(8),
COLOR CHAR(2),
WEIGTH INT
);J表
CREATE TABLE J
(
JNO CHAR(2) 
  PRIMARY KEY,
JNAME VARCHAR(8),
CITY VARCHAR(8)
);SPJ表
CREATE TABLE SPJ
(
SNO CHAR(2),
PNO CHAR(2),
JNO CHAR(2),
QTY INT,
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY(SNO)
  REFERENCES S(SNO),
FOREIGN KEY(SNO)
  REFERENCES P(PNO),
FOREIGN KEY(JNO)
  REFERENCES J(JNO)
);
然后插入数据:
INSERT INTO S(SNO,SNAME,STATUS,CITY)VALUES('S1','精益',20,'天津');
INSERT INTO S(SNO,SNAME,STATUS,CITY)VALUES('S2','盛锡',10,'北京');
INSERT INTO S(SNO,SNAME,STATUS,CITY)VALUES('S3','东方红',30,'北京');
INSERT INTO S(SNO,SNAME,STATUS,CITY)VALUES('S4','丰泰盛',20,'天津');
INSERT INTO S(SNO,SNAME,STATUS,CITY)VALUES('S5','为民',30,'上海');INSERT INTO P(PNO,PNAME,COLOR,WEIGTH)VALUES('P1','螺母','红',12);
INSERT INTO P(PNO,PNAME,COLOR,WEIGTH)VALUES('P2','螺栓','绿',17);
INSERT INTO P(PNO,PNAME,COLOR,WEIGTH)VALUES('P3','螺丝刀','蓝',14);
INSERT INTO P(PNO,PNAME,COLOR,WEIGTH)VALUES('P4','螺丝刀','红',14);
INSERT INTO P(PNO,PNAME,COLOR,WEIGTH)VALUES('P5','凸轮','蓝',40);
INSERT INTO P(PNO,PNAME,COLOR,WEIGTH)VALUES('P6','齿轮','红',30);INSERT INTO J(JNO,JNAME,CITY)VALUES('J1','三建','北京');
INSERT INTO J(JNO,JNAME,CITY)VALUES('J2','一汽','长春');
INSERT INTO J(JNO,JNAME,CITY)VALUES('J3','弹簧厂','天津');
INSERT INTO J(JNO,JNAME,CITY)VALUES('J4','造船厂','天津');
INSERT INTO J(JNO,JNAME,CITY)VALUES('J5','机车厂','唐山');
INSERT INTO J(JNO,JNAME,CITY)VALUES('J6','无线电厂','常州');
INSERT INTO J(JNO,JNAME,CITY)VALUES('J7','半导体厂','南京');
我再插入第四张表的数据时出现了“ORA-02291: 违反完整约束条件 (SCOTT.SYS_C009751) - 未找到父项关键字”错误
INSERT INTO SPJ(SNO,PNO,JNO,QTY)VALUES('S1','P1','J1',200);
请高手为我解答,谢谢了!