Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 无法创建缺少右括号的表_Sql_Oracle - Fatal编程技术网

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)
);