我目前正在進行數據庫練習練習,但由於出現外鍵錯誤,輸入數據時出現問題。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。
謝謝。需要