2012-03-07 71 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)父表名(父表的列名)