我目前正在进行数据库练习练习,但由于出现外键错误,输入数据时出现问题。Oracle数据库查询问题 - 插入数据的问题
这里是我的成功上市
CREATE TABLE EMPLOYEE
(
FNAME VARCHAR2(15) NOT NULL,
MINIT CHAR,LNAME VARCHAR2(15) NOT NULL,
SSN CHAR(9) NOT NULL,
BDATE DATE,
ADDRESS VARCHAR2(30),
SEX CHAR(1),
SALARY NUMBER(10,2),
SUPER_SSN CHAR(9),
DNO NUMBER NOT NULL,
CONSTRAINT EMPPK PRIMARY KEY (SSN) DISABLE,
CONSTRAINT EMPSUPERFK FOREIGN KEY (SUPER_SSN) REFERENCES EMPLOYEE(SSN) DISABLE
);
Success the table was created
CREATE TABLE DEPARTMENT
(
DNAME VARCHAR2(15) NOT NULL,
DNUMBER NUMBER NOT NULL,
MGR_SSN CHAR(9) NOT NULL,
MGR_START_DATE DATE,
CONSTRAINT DEPTPK PRIMARY KEY (DNUMBER) DISABLE,
CONSTRAINT DEPTMGRFK FOREIGN KEY (MGR_SSN) REFERENCES EMPLOYEE(SSN) DISABLE
);
Success the table was created
ALTER TABLE DEPARTMENT ENABLE constraint DEPTPK;
Success the table altered
alter table EMPLOYEE
add constraint fk_d_num
FOREIGN KEY (DNO) references DEPARTMENT (DNUMBER);
Success the table altered
select distinct(TABLE_NAME), constraint_name, constraint_type, status
from all_constraints
where TABLE_NAME in('EMPLOYEE', 'DEPARTMENT');
成功显示表的状态和所有
现在,当谈到时间的数据插入
我用你的文档
insert into EMPLOYEE
values ('Jonn', 'B', 'Smith','123456789', '09-FEB-1965', '731 Fondren, Houston, TX','M', 30000, '333445555', 5)
的错误有命令我得到国家
Error starting at line : 1 in command -
insert into EMPLOYEE values ('Jonn', 'B', 'Smith', '123456789', '09-FEB-1965', '731 Fondren, Houston, TX', 'M', 30000, '333445555', 5)
Error report
SQL Error: ORA-02291: integrity constraint (PA96.FK_D_NUM) violated - parent key not found
02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"
Cause: A foreign key value has no matching primary key value.
Action: Delete the foreign key or add a matching primary key.
好这样好像我需要先与部门表一起工作。仍然得到相同的问题
我得出结论,我需要引用我插入的每个数据。
实例查询提示我得到是:
INSERT INTO Employee (Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary, Super_ssn, Dno)
VALUES ('Franklin', 'T', 'Wong', 333445555, '1955-12-08', '638 Voss, Houston, TX', M, 40000, 888665555, 5);
我仍然得到部门表我尝试了失败:
INSERT INTO Department (Dname, Dnumber, Mgr_ssn, Mgr_start_date)
VALUES ('Research', 5, 333445555, To_date('1988-05-22', ‘YYYY-MM-DD’));
我仍然得到失败。我如何解决这个问题。日期格式是我需要的部门表和员工表,但我一直在失败。
有人可以帮助这个请。我需要得到这些加载下面
INSERT INTO Employee (Fname, Minit, Lname, Ssn, Bdate, Address, Sex, Salary, Super_ssn, Dno)
VALUES ('Jonn', 'B', 'Smith', 123456789, '1965-02-09', '731 Fondren, Houston, TX', M, 30000, 333445555, 5)
进入Employee
表
和
INSERT INTO Department (Dname, Dnumber, Mgr_ssn, Mgr_start_date)
VALUES ('Research', 5, 333445555, '1988-05-22')
到Department
表。
使用Oracle。
谢谢。需要