sql创建外键语句

如题所述

1、创建测试主表(班级表test_class),

create table test_class(class_id number, class_name varchar2(20));

2、创建测试子表(学生表test_student),

create table test_student(stu_id number, stu_name varchar2(200), class_id number);

3、主表(班级表test_class)添加唯一主键

alter table TEST_CLASS

  add constraint pk_class_id primary key (CLASS_ID);

4、子表(学生表test_student)创建外键

alter table TEST_STUDENT

  add constraint fk_class_id foreign key (CLASS_ID)

  references test_class (CLASS_ID);

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02
-- 创建测试主表. ID 是主键.
CREATE TABLE test_main (
id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);

-- 创建测试子表.
CREATE TABLE test_sub (
id INT,
main_id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);

默认外键约束方式
ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;

DELETE CASCADE 方式
-- 创建外键(使用 ON DELETE CASCADE 选项,删除主表的时候,同时删除子表)
ALTER TABLE test_sub
ADD CONSTRAINT main_id_cons
FOREIGN KEY (main_id) REFERENCES test_main ON DELETE CASCADE;

UPDATE CASCADE方式
-- 创建外键(使用 ON UPDATE CASCADE 选项,更新主表的主键时候,同时更新子表外键)
ALTER TABLE test_sub
ADD CONSTRAINT main_id_cons
FOREIGN KEY (main_id) REFERENCES test_main ON UPDATE CASCADE;

SET NULL方式
-- 创建外键(使用 ON DELETE SET NULL 选项,删除主表的时候,同时将子表的 main_id 设置为 NULL)
ALTER TABLE test_sub
ADD CONSTRAINT main_id_cons
FOREIGN KEY (main_id) REFERENCES test_main ON DELETE SET NULL;

参考资料:http://hi.baidu.com/wangzhiqing999/blog/item/969f70fa84e2873e5d600821.html

本回答被提问者采纳
第2个回答  2020-10-29

我的B站:https://space.bilibili.com/410670572资料视频:https://baijiahao.baidu.com/u?app_id=1616309264508817QQ群:1097414647有任何问题,可以在B站或者百家号留言联系我。

第3个回答  2011-03-31
create table emp(
emp_id char(8) primary key, //员工号
emp_name char(30) //员工名
);
create table salary(
id char(8), //员工号(可以用emp_id我为了给你区别所以用了和上表不同的)
salary flaot, //薪资
foreign key (id) references emp (emp_id) //添加外键约束
);
这些代码拷过去直接运行就行!!!
第4个回答  2011-03-23
创建外键要先把那个表的字段建好才可以

例如:
create table A
(
aId int primary key
)

create table B
(
bId int primary key,
bAId int foreign key(bAId) references A(aId)
)
相似回答