一 语法
列级进行设置
CREATE TABLE table1
(colume_name datetype REFERENCES
table2(column_name),...)
table1:从表
table2:主表
外键约束也被称为主次表的关系。
注意:
设置外键约束时,主表的字段必须是主键。
主从表中相应的字段必须是同一种数据类型。
从表中外键字段的值必须来自主表中的相应字段的值,或者为null值,其他值不允许。
二 实例
本实例演示了:
从表中外键字段的值必须来自主表中的相应字段的值,或者为null值,其他值不允许。
SQL> create table typeinfo
2(typeid varchar2(10) primary key,
3typename varchar2(20));
表已创建。
SQL> create table userinfo_f
2(id varchar2(10) primary key,
3 username varchar2(20),
4 typeid_new varchar2(10) references typeinfo(typeid));
表已创建。
SQL> insert into typeinfo values(1,1);
已创建1行。
SQL> insert into userinfo_f(id,typeid_new) values(1,2);
insert into userinfo_f(id,typeid_new) values(1,2)
*
第1行出现错误:
ORA-02291:违反完整约束条件(SYSTEM.SYS_C0011061)-未找到父项关键字
SQL> insert into userinfo_f(id,typeid_new) values(1,1);
已创建1行。
SQL> insert into userinfo_f(id,typeid_new) values(2,null);
已创建1行。