第一次学习SQL Live的学生-我尝试创建表,但问题是收到以下错误代码:ORA-00942:表或视图不存在。不确定我做错了什么。
下面是我的代码:
CREATE TABLE Emp
(
Empno INT PRIMARY KEY,
Ename VARCHAR(50) NOT NULL,
DNO INT,
BirthDate DATE,
Sal DECIMAL(10,2) CHECK (Sal BETWEEN 1000 AND 10000),
CONSTRAINT fk_Dept_Emp FOREIGN KEY (DNO) REFERENCES Dept(Deptno)
);
CREATE TABLE Dept
(
Deptno INT PRIMARY KEY,
Dname VARCHAR(50) UNIQUE NOT NULL,
Mgr INT,
CONSTRAINT fk_Emp_Dept FOREIGN KEY (Mgr) REFERENCES Emp(Empno)
);
我的指示如下:
使用SQL Live创建两个表:
- 员工(员工编号、姓名、DNO、出生日期、销售额)
- 部门(部门编号、姓名、经理)
为每列选择适当的数据类型。
对于Emp
表,添加以下约束:Empno是主键,Ename不能为空,DNO是FK引用部门(Deptno),Sal应该在1000和10000之间
对于Dept
表,添加以下约束:部门号为主键,部门名称为唯一,经理为FK参考员工(员工号)。
1条答案
按热度按时间jq6vz3qz1#
你的代码的问题是你试图创建相互依赖的外键,无论你尝试什么顺序,它们给予出错,因为一个外键不会出现在另一个外键之前。
要解决此问题,请尝试创建一个不带外键的表。然后创建另一个表,并通过
ALTER TABLE
命令在第一个表中添加外键-Demo.