Sql 无法创建缺少右括号的表
谁能告诉我这个代码有什么问题吗?我不知道它出了什么问题。我得到的唯一错误消息是“缺少右括号”。请帮忙Sql 无法创建缺少右括号的表,sql,oracle,Sql,Oracle,谁能告诉我这个代码有什么问题吗?我不知道它出了什么问题。我得到的唯一错误消息是“缺少右括号”。请帮忙 CREATE TABLE employee ( emp_no NUMBER(3) NOT NULL PRIMARY KEY, emp_name VARCHAR(15) NOT NULL UNIQUE, emp_salary DECIMAL(8,2) NOT NULL, djob VARCHAR(15) NOT NULL FOREIGN KEY REFERENCES depot(djob) );
CREATE TABLE employee (
emp_no NUMBER(3) NOT NULL PRIMARY KEY,
emp_name VARCHAR(15) NOT NULL UNIQUE,
emp_salary DECIMAL(8,2) NOT NULL,
djob VARCHAR(15) NOT NULL FOREIGN KEY REFERENCES depot(djob)
);
问题在于
外键
。您可以简单地执行以下操作:
CREATE TABLE employee (
emp_no NUMBER(3) NOT NULL PRIMARY KEY,
emp_name VARCHAR2(15) NOT NULL UNIQUE,
emp_salary DECIMAL(8,2) NOT NULL,
djob VARCHAR(15) NOT NULL REFERENCES depot(djob)
);
对于内嵌声明,不需要使用外键
请注意,我还将
VARCHAR()
更改为VARCHAR2()
,这在Oracle中更为普遍。问题在于外键。您可以简单地执行以下操作:
CREATE TABLE employee (
emp_no NUMBER(3) NOT NULL PRIMARY KEY,
emp_name VARCHAR2(15) NOT NULL UNIQUE,
emp_salary DECIMAL(8,2) NOT NULL,
djob VARCHAR(15) NOT NULL REFERENCES depot(djob)
);
对于内嵌声明,不需要使用外键
请注意,我还将
VARCHAR()
更改为VARCHAR2()
,这在Oracle中更为常见。最后一行不应该使用外键作为单独的行吗
`
最后一行不应该用外键作为单独的行吗 ` 以下是一个例子: 以下是一个例子:
CREATE TABLE dept (
deptno number PRIMARY KEY,
dname varchar2(100));
CREATE TABLE employee (
emp_no NUMBER(3) NOT NULL PRIMARY KEY,
emp_name VARCHAR(15) NOT NULL UNIQUE,
emp_salary DECIMAL(8,2) NOT NULL,
djob number NOT NULL,
CONSTRAINT fk_job FOREIGN KEY (djob) REFERENCES dept(deptno)
);