2017-06-21 18 views
0

誰でもこのコードの何が問題なのか教えてください。私は何が間違っているのか分からなかった。私が得た唯一のエラーメッセージは、 "右括弧がありません"です。助けてください右括弧が欠けているテーブルを作成できません

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

答えて

2

問題はFOREIGN KEYです。あなたは、単に行うことができます。

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

FOREIGN KEYが必要ではないのインライン宣言について。

また、VARCHAR()VARCHAR2()に変更しました。これは、Oracleで受け入れられています。

0

最後の行は別の行として外部キーであるべきではありませんか?ここ

`

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

例である:http://sqlfiddle.com/#!4/19250

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) 
); 
関連する問題