2012-03-07 70 views
0

我有兩個表加州鰻 我想用卡的主鍵是作爲CAL_ID鰻魚外鍵約束在Oracle

外鍵下面是我的嘗試。

Create table ELL 
    (course_code varcahr2(10) Constraints pk_course_code Primary Key, 
    Course_Title varchar2(30), 
    cal2_idnumber not null, 
    Constraint fk_cal2 Foreign Key (cal_id) References cal_id(cal2_id) 
) 

,但它顯示的錯誤在第6行ORA-00904 「CAL_ID」 無效字符

有人可以告訴我如何做到這一點

+0

RU試圖創建表EEI? – Teja 2012-03-07 15:20:24

回答

0

不難,這裏下面一個例子:

CREATE TABLE supplier 
( supplier_id  numeric(10)  not null, 
    supplier_name varchar2(50) not null, 
    contact_name varchar2(50), 
    CONSTRAINT supplier_pk PRIMARY KEY (supplier_id) 
); 


CREATE TABLE products 
( product_id numeric(10)  not null, 
    supplier_id  numeric(10)  not null, 
    CONSTRAINT fk_supplier 
    FOREIGN KEY (supplier_id) 
    REFERENCES supplier(supplier_id) 
); 
+0

這是什麼id創建表ELL(course_code varcahr2(10)約束pk_course_code主鍵,Course_Title varchar2(30),cal2_idnumber非空,約束fk_cal2外鍵(cal_id)引用cal_id(cal2_id),但它顯示錯誤在第6行Ora -00904「Cal_ID」無效字符 – 2012-03-07 15:33:39

4
ALTER TABLE table_name 
add CONSTRAINT constraint_name 
    FOREIGN KEY (column1, column2, ... column_n) 
    REFERENCES parent_table (column1, column2, ... column_n); 
+0

什麼是表名稱 – 2012-03-07 15:27:01

+0

您說這些表格命名爲CAL和EEL。EEL需要外鍵約束,因此將是表naem。 – Brian 2012-03-07 15:39:27

0

References cal_id(cal2_id) - call_id不是您的表名稱。

除了上述代碼,您可以使用如下。

References parent_table_name(cal2_id) 
0

約束fk_cal_id2外鍵(cal2_id)參考CAL(CAL_ID) -----------約束名(鰻魚COL)父表名(父表的列名)