有三个表:

Company

Address

Contact

在Address和Contact中建立外键,外键id为company的id,

那么就不能任意删除Company。但假如在外键约束中把级联删除选上,就会连带address和contact一起删除。

SQL SERVER级联删除:在删除主表时,自动删除副表(外键约束)相应内容

SQL SERVER级联删除包含主键值的行的操作,该值由其它表的现有行中的外键列引用。在级联删除中,还删除其外键值引用删除的主键值的所有行。

如:

create database temp

go

use temp

go

create table UserInfo

(

UserId int identity(1,1) primary key ,

UserName varchar(20), --用户名

password varchar(20) not null --密码

)

create table UserDetails

(

id int identity(1,1) primary key,

name varchar(50) not null, --真实姓名

userId int,

foreign key (userId) references UserInfo(UserId) on delete cascade

)

insert UserInfo values ('ly','jeff')

insert UserInfo values('wzq','wzqwzq')

insert UserInfo values('lg','lglg')

insert UserDetails values('李四',1)

insert UserDetails values('王五',2)

insert UserDetails values('刘六',3)

此时:Delete From UserInfo Where UserId = 1 就可删除UserInfo表和UserDetails表的UserId=1 的内容

insert UserInfo values ('ly','jeff')

insert UserInfo values('wzq','wzqwzq')

insert UserInfo values('lg','lglg')

insert UserDetails values('李四',1)

insert UserDetails values('王五',2)

insert UserDetails values('刘六',3)

此时:Delete From UserInfo Where UserId = 1 就可删除UserInfo表和UserDetails表的UserId=1 的内容。

SQL SERVER 级联删除的更多相关文章

  1. SQL Server 2008删除或压缩数据库日志的方法

    SQL Server 2008删除或压缩数据库日志的方法 2010-09-20 20:15 由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的 ...

  2. SQL SERVER数据库删除LOG文件和清空日志的方案

    原文:SQL SERVER数据库删除LOG文件和清空日志的方案 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文 ...

  3. sql server 2012 删除服务器名称

    SQL Server 2008 R2及以前版本: http://blog.csdn.net/downmoon/article/details/5678468 SQL Server 2012: 删除这两 ...

  4. SQL SERVER 2005删除维护作业报错:The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id"

    案例环境: 数据库版本: Microsoft SQL Server 2005 (Microsoft SQL Server 2005 - 9.00.5000.00 (X64) ) 案例介绍: 对一个数据 ...

  5. SQL Server如何删除多余tempDB文件

    某时,创建了多个tempDB文件,已经超过了服务器核心数,现象删除tempDB文件,使其保持与CPU核心数相同.但是在删除的时候,发现无法删除,报出错误:无法删除文件“tempdev3”,因为它不能为 ...

  6. SQL Server 2008 删除数据库帐号失败问题

    SQL Server 2008 中单独为一个项目建立了一个账号zdhsa,结果发现无法删除. 问题:删除zdhsa失败. 解决:首先从"安全性"-"架构"中删除 ...

  7. SQL Server强制删除复制发布

    原文地址:http://blog.csdn.net/leamonjxl/article/details/7352208 SQL Server 中 存在以前(系统还原前)的发布内容,使用鼠标->右 ...

  8. SQL Server强制删除发布

    今日发现SQL Server 中 存在以前(系统还原前)的发布内容,使用鼠标->右键,选择删除,失败.   可使用语句: EXEC SP_REMOVEDBREPLICATION '发布数据库名称 ...

  9. [转]SQL SERVER数据库删除LOG文件和清空日志的方案

    本文转自:https://www.cnblogs.com/ShaYeBlog/archive/2012/09/04/2670505.html 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下 ...

随机推荐

  1. AdapterView及其子类之二:使用ListActivity及ArrayAdapter创建列表

    见归档项目ListActivityDemo.zip. 基本步骤如下: 1.创建一个TextView,用于指定每一个ListView的格式 <?xml version="1.0" ...

  2. Python比较函数__cmp__

    #!/usr/bin/python class my_type(object): def __init__(self, v): self.value = v def __cmp__(self, v2) ...

  3. PowerDesigner 面向对象模型(OOM)

    PowerDesigner 面向对象模型(OOM)说明 nulljavasystemstringpowerbuilderclass   目录(?)[+]   一.     OOM 简介 Object- ...

  4. 剑指OFFER之复杂链表的复制(九度OJ1524)

    题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点). 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入的第一 ...

  5. 剑指OFFER之字符串的排列(九度OJ1369)

    题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入: 每个 ...

  6. Abel 分部求和法

    本文之所以叫Abel分部求和法而不叫Abel分部求和公式,是因为求和公式有可能形式上有所不同,但是方法确实相同的. $$\sum_{n=M}^{N}a_{n}b_{n} = \sum_{n=M}^{N ...

  7. javasctipt显示几分钟前、几天前等

    jsp页面: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...

  8. C#-获取datatable指定列的数据

    DataTable dt = new DataTable();            da.Fill(dt);                                    this.text ...

  9. POJ 3692 最大独立集

    题意:有G个女生,B个男生,所有的女生都互相认识,所有的男生都互相认识,还有N对男女,他们互相认识. 问从中选出最多的人数,是的他们全部互相认识. 思路:这道题的构图很巧妙,对于他的补图构图,对于所有 ...

  10. [Heroku] How to pull, push changes

    1. First you need to login heroku: heroku login 2. Then you need to download the code: heroku git:cl ...