oracle中的外键约束

时间:2012-03-07 15:17:05

标签: oracle11g

我有两张桌子Cal和EEL 我想使用cal的主键cal_id作为EEl的外键

这是我尝试过的。

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”无效字符

有人可以告诉我该怎么做

4 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分: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)
);

答案 2 :(得分:0)

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

您可以使用以下代码代替上述代码。

References parent_table_name(cal2_id)

答案 3 :(得分:0)

约束fk_cal_id2外键(cal2_id)引用cal(cal_id) -----------约束名称(EEL中的col)父表名(父表列名)