我们设计数据库经常会设计主表,子表.经常需要删除,修改主表主键,子表做相应的同步.对于删除好处理点:用sql语句先删除子表数据,再删除主表数据.修改就有问题了.如果主表的主键时子表的外键.用sql语句时没法修改的.除非先删除外键约束.我介绍一下在sql Server2005中如何非常简单的实现这种需要.我分两种情况:
1.主子表主键不同.子表的外键是主表的主键.
最常见的是:订单表和订单详细表.
脚本:
- Create Table ParentDT --主表
- (
- UserNumb varchar(20), --主键
- UserName varchar(20)
- )
- Table Child1DT --子表1
- (
- OrderID int, --主键
- --外键
- )
打开:sql Server Management Studio:设置外主外键后.再按下图设置:
2.主子表主键相同.
3.最后说明:
以上都可使用脚本实现.
- Table ParentDT --主表
- (
- UserNumb varchar(20) primary key, --主键
- UserName varchar(20)
- )
- Table Child1DT --子表1
- OrderID --主键
- --外键
- CONSTRAINT [FK_Child1DT_ParentDT] FOREIGN KEY([UserNumb])
- REFERENCES [dbo].[ParentDT] ([UserNumb])
- ON UPDATE CASCADE
- DELETE CASCADE
- )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。