SQL Server 级联删除 ON DELETE CASCADE
来源:互联网 发布:我的世界手机版家具js 编辑:程序博客网 时间:2024/06/08 17:42
--创建测试主表CREATE TABLE [dbo].[Test]( [TestID] int NOT NULL, --主表ID [TestData] [varchar](10) NOT NULL,--主表内容数据 CONSTRAINT [PK_Test_1] PRIMARY KEY CLUSTERED([TestID] ASC)--设置主键)GO--创建测试子表CREATE TABLE [dbo].[TestDetail]( [TestDetailID] int NOT NULL,--子表ID [TestID] int NULL, --主表ID [TestDetailData] [varchar](10) NULL,--子表内容数据 CONSTRAINT [PK_TestDetail] PRIMARY KEY CLUSTERED([TestDetailID] ASC)--子表主键)GO
设置外键约束,设置级联删除
--设置外键约束ALTER TABLE [dbo].[TestDetail] WITH CHECKADD CONSTRAINT [FK_TestDetail_Test] FOREIGN KEY([TestID])REFERENCES [dbo].[Test]([TestID])ON DELETE CASCADE --设置级联删除GO
添加测试数据(为主表添加100条数据,每条主表数据对应10条子表数据)
--添加测试数据(为主表添加100条数据,每条主表数据对应10条子表数据)DECLARE @val intDECLARE @val2 intSELECT @val=1WHILE @val <= 100BEGIN INSERT INTO dbo.[Test] VALUES(@val,'测试' + CAST(@val AS VARCHAR)) SELECT @val2=1 WHILE @val2 <= 10 BEGIN INSERT INTO dbo.[TestDetail] VALUES ((@val*100000)+@val2,@val,'测试' + CAST(@val AS VARCHAR)) SELECT @val2=@val2+1 END SELECT @val=@val+1 ENDGO
select * from [Test]select * from [TestDetail]
查询结果如下:
下面进行删除操作:
delete from [Test] where TestID=1
得到结果如下:
子表中TestID是1的也同时被删除了!
- SQL Server 级联删除 ON DELETE CASCADE
- SQL SERVER 主键和外键中的 级联删除(ON DELETE CASCADE)和级联更新(ON UPDATE CASCADE)
- SQL SERVER 主键和外键中的 级联删除(ON DELETE CASCADE)和级联更新(ON UPDATE CASCADE)
- ON DELETE CASCADE(级联删除)
- T-SQL级联删除——ON DELETE CASCADE
- delete cascade 级联删除
- 数据库级联更新 on update cascade和级联删除 on delete cascade
- sql 联级删除 ON DELETE CASCADE
- 关系表的级联删除(ON DELETE CASCADE的用法)
- 数据库_级联更新/级联删除_ON UPDATE CASCADE/ON DELETE CASCADE
- on delete cascade和on delete set null的级联删除
- Cascade delete - SQL Server
- 如何实现关系表的级联删除(ON DELETE CASCADE的用法)
- 如何实现关系表的级联删除(ON DELETE CASCADE的用法)
- 如何实现关系表的级联删除(ON DELETE CASCADE的用法)
- 如何实现关系表的级联删除(ON DELETE CASCADE的用法)
- 如何实现关系表的级联删除(ON DELETE CASCADE的用法)
- CASCADE——SQL, sql server 2000 ,表间数据 ,级联更新删除
- 伊神人事档案管理系统
- HDU 1060 Leftmost Digit & BIT1046 Leftmost Digit
- Linux时间戳 时间类型的转换(转)
- 帝国ECMS6.5灵动标签集合
- maven+hadoop2.2 项目HDFS文件读取程序
- SQL Server 级联删除 ON DELETE CASCADE
- MFC 单文档的全局变量
- 如何处理Oracle中TEMP表空间满的问题
- Hibernate中的query.setFirstResult(),query.setMaxResults();
- mysql快速复制表
- ios 杂
- 关于token
- git 笔记记录(六) git检出
- Hadoop奇怪问题列表