2013-04-04 110 views
0

你好嗎?Oracle SQL錯誤ORA-00907:缺少右括號

基本上我已經寫了這一點的SQL代碼來創建一個表,但我不斷收到標題中說明的錯誤,爲什麼?

下面的代碼:

CREATE TABLE staff(
    staffID INT NOT NULL PRIMARY KEY, 
    firstName VARCHAR2(20), 
    lastName VARCHAR2(20), 
    addressLine_1 VARCHAR2(30), 
    city VARCHAR2(15), 
    postcode VARCHAR2(7), 
    telephone VARCHAR2(15), 
    salary DECIMAL (19,4), 
    branchID INT FOREIGN KEY REFERENCES branches(branchID) 
    ); 

而且這裏是代碼爲我的 '分支' 表

CREATE TABLE branches 
    (branchID int NOT NULL PRIMARY KEY, 
    addressLine_1 VARCHAR2(30), 
    city VARCHAR2(15), 
    postcode VARCHAR2(7), 
    telephone VARCHAR2(15), 
    manager VARCHAR2(20)); 

任何幫助,將不勝感激!

謝謝!

回答

3

幾點建議:

首先確保該branches已創建表。

其次,我將改變創建表的代碼如下:

CREATE TABLE staff(
    staffID INT NOT NULL PRIMARY KEY, 
    firstName VARCHAR(20), 
    lastName VARCHAR(20), 
    addressLine_1 VARCHAR2(30), 
    city VARCHAR2(15), 
    postcode VARCHAR2(7), 
    telephone VARCHAR2(15), 
    salary DECIMAL (19,4), 
    branchID INT, 
    constraint fk_branchId FOREIGN KEY (branchID) REFERENCES branches(branchID) 
    ); 

SQL Fiddle with Demo。語法創建表時FOREIGN KEY創作是:

CREATE TABLE table_name 
(
    column1 datatype null/not null, 
    column2 datatype null/not null, 
    ... 

    CONSTRAINT fk_column 
    FOREIGN KEY (column1, column2, ... column_n) 
    REFERENCES parent_table (column1, column2, ... column_n) 
); 
+1

這工作完美!非常感謝你! – 2013-04-04 23:43:03

+0

@blufeet是否有可能在一個表中有多個外鍵? – 2013-04-05 00:01:31

+0

@bilal是的。 – Taryn 2013-04-05 00:05:45

0

這裏是表STAFF1創建

CREATE TABLE staff 
(
staffID INT NOT NULL PRIMARY KEY, 
firstName VARCHAR2(20), 
lastName VARCHAR2(20), 
addressLine_1 VARCHAR2(30), 
city VARCHAR2(15), 
postcode VARCHAR2(7), 
telephone VARCHAR2(15), 
branchID int, 
salary DECIMAL (19,4), 
CONSTRAINT BRANCH_fk FOREIGN KEY(branchID) REFERENCES branches(branchID) 
) 
SQL>/
Table created. 

請使用約束名稱,以便發現錯誤變得容易。

0
create table medication (
id int not null primary key, 
name varchar(20), 
mudslig price number (10), 
protect date not null default (getdate()), 
finish date not null default (getdate()), 
company proect varchre2 (20), 
shelf id int, 
chemistid int, 
constraint shelf_fk foreign key (shelf id) refences shelf (shelf id), 
constraint chemist_fk foreign key (chemistid) refences chemist (chemistid) 
); 

請使用約束名稱,以便發現錯誤變得容易。