- 7
- 0
- 约5.02千字
- 约 7页
- 2017-01-06 发布于北京
- 举报
[SQLServer外键约束的例子
SQL Server 外键约束的例子
外键约束的测试表与测试数据
--?创建测试主表.?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)?
);
?
--?插入测试主表数据.
INSERT?INTO?test_main(id,?value)?VALUES?(1,?ONE);
INSERT?INTO?test_main(id,?value)?VALUES?(2,?TWO);
?
--?插入测试子表数据.
INSERT?INTO?test_sub(id,?main_id,?value)?VALUES?(1,?1,?ONEONE);
INSERT?INTO?test_sub(id,?main_id,?value)?VALUES?(2,?2,?TWOTWO);
?
默认外键约束方式
1?ALTER?TABLE?test_sub?ADD?CONSTRAINT?main_id_cons?FOREIGN?KEY?(main_id)?REFERENCES?test_main;
2?go
1?DELETE
2???test_main
3?WHERE
4???ID?=?1;
5?go
消息?547,级别?16,状态?1,服务器?HOME-BED592453C\SQLEXPRESS,第?1?行
DELETE?语句与?REFERENCE?约束main_id_cons冲突。该冲突发生于数据库Stock,表db
o.test_sub,?column?main_id。
语句已终止。
测试完毕后,删除?外键约束
ALTER?TABLE?test_sub?DROP?CONSTRAINT?main_id_cons;
?
?
?
DELETE?CASCADE?方式
1?--?创建外键(使用?ON?DELETE?CASCADE?选项,删除主表的时候,同时删除子表)
2?ALTER?TABLE?test_sub
3???ADD?CONSTRAINT?main_id_cons
4?????FOREIGN?KEY?(main_id)?REFERENCES?test_main?ON?DELETE?CASCADE;
5
6?--?测试删除主表数据.?将成功地执行.
7?DELETE
8???TEST_MAIN
9?WHERE
10???ID?=?1;
11
12?--?测试检索子表,应该只有一条?main_id?=?2?的数据.
13?SELECT
14???*
15?FROM
16???test_sub;
17
18?go
(1?行受影响)
id??????????main_id?????value
-----------?-----------?----------
??????????2???????????2?TWOTWO
(1?行受影响)
测试完毕后,删除?外键约束?
ALTER?TABLE?test_sub?DROP?CONSTRAINT?main_id_cons;
?
?
?
UPDATE?CASCADE方式
--?创建外键(使用?ON?UPDATE?CASCADE?选项,更新主表的主键时候,同时更新子表外键)
1?ALTER?TABLE?test_sub
2????ADD?CONSTRAINT?main_id_cons
3??????FOREIGN?KEY?(main_id)?REFERENCES?test_main?ON?UPDATE?CASCADE;
4?go
--?测试更新主表数据.?将成功地执行.
1?UPDATE?test_main?SET?id?=?5?where?id?=?1
2?go
(1?行受影响)
--?检查?子表?数据是否被同步更新
1?select?*?from?test_sub
2?go
id??????????main_id?????value
-----------?-----------?----------
??????????1??????????5?ONEONE
??????????2???????????2?TWOTWO
测试完毕后,删除?外键约束?
ALTER?TABLE?test_sub?DROP?CONSTRAINT?main_id_cons;
?
?
?
?
SET?NULL方式
1?--?创建外键(使用?ON?DELETE?SET?NULL?选项,删除主表的时候,同时将子表的?main_i
您可能关注的文档
- [S730手簿操作手册.doc
- [SAS8.0安装步骤.doc
- [SAT复习素材.doc
- [SAT机房使用管理规定.docx
- [sap中的时间管理.doc
- [SCM国美电器物流信息化成功案例.doc
- [SASS客户关系管理研究.doc
- [scm案例.doc
- [SCRM社会化客户关系管理.doc
- [SDE气体灭火系统设计施工验收规范.doc
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
最近下载
- 广西建筑工程施工图设计文件技术审查常见问题解答汇编-暖通专业2026.pdf VIP
- 15J401钢梯规范规范.docx VIP
- 检察院书记员面试真题及参考答案.docx VIP
- 南京师范大学《经济法》笔记-知识点.pdf VIP
- 2021年专升本c语言模拟题.pdf VIP
- 智能路灯控制器[KQ-LD1]说明书.pdf VIP
- 南京师范大学《工程力学》2018-2019学年期末试卷.pdf VIP
- 2025年中国益生菌补充剂市场调研报告_2025年12月.docx VIP
- 污水厂运营人员任务及岗位职责.pdf VIP
- 2026年1月浙江省高考(首考)英语试题(含答案详解)+听力音频+听力材料.docx
原创力文档

文档评论(0)