`
xys_777
  • 浏览: 204206 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

约束的操作 - 增加 删除 禁止 启用

 
阅读更多

--本例以外键为例,其他约束类似

1、增加

Alter Table tb Add Constraint fk_tb_ta Foreign Key ( aid ) References ta ( id )

如果增加时不想对已有数据强制新的约束,可以在表名后加 With NoCheck

Alter Table tb With NoCheck Add Constraint fk_tb_ta Foreign Key ( aid ) References ta ( id )

2、删除

Alter Table tb Drop Constraint fk_tb_ta

3、禁止

Alter Table tbNoCheck Constraint fk_tb_ta

4、启用

Alter Table tbCheck Constraint fk_tb_ta

如果启用时想对已有数据检测是否符合约束,可以在表名后加 With Check

Alter Table tb With CheckCheck Constraint fk_tb_ta

---测试例子:

if object_id('tableC') is not null drop table tableC
go
if object_id('tableB') is not null drop table tableB
go
if object_id('tableA') is not null drop table tableA
go
create table tableA (Aid varchar(10) primary key,Aname varchar(20))
insert tableA select 'A1','公司1'
go
create table tableB (Bid varchar(10) primary key,Bname varchar(20),Aid varchar(10) references tableA(Aid) )
insert tableB
select 'B1','部门1','A1' union all
select 'B2','部门2','A1'
go
create table tableC (Cid varchar(10) primary key,Cname varchar(20),Bid varchar(10) references tableB(Bid))
insert tableC
select 'C1','人员1','B1' union all
select 'C2','人员2','B1' union all
select 'C3','人员3','B2' union all
select 'C4','人员4','B2'
go
delete tableb where bid='b1'
go
/*
消息 547,级别 16,状态 0,第 1 行
DELETE 语句与 REFERENCE 约束"FK__tableC__Bid__13F2C142"冲突。该冲突发生于数据库"master",表"dbo.tableC", column 'Bid'。
语句已终止。
*/
alter table tableC NoCheck Constraint all
--alter table tableC NoCheck Constraint constName
/**/
delete tableb where bid='b1'
select * from tableb
select * from tablec

/*
Bid Bname Aid
---------- -------------------- ----------
B2 部门2 A1

(1 行受影响)

Cid Cname Bid
---------- -------------------- ----------
C1 人员1 B1
C2 人员2 B1
C3 人员3 B2
C4 人员4 B2

(4 行受影响)
*/

Alter Table tableC Check Constraint FK__tableC__Bid__13F2C142

分享到:
评论

相关推荐

    深度学习(asp)网址导航系统 3.1.2(最新更新完美版)

    ·增加是否启用转向URL的选项(感谢感恩的心) ·增加上传文件管理 ·修订在线编辑器错误(感谢感恩的心) ·重构css ·修订友情链接文字错误(感谢感恩的心) ver3.0.4 ·后台页优化,统一css ·网址属性增加自定义颜色...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     6.8.3 允许和禁止嵌套触发器 149  6.8.4 控制查询的执行 149  6.8.5 配置2000年的支持 150  6.9 管理数据库设置 150  6.9.1 设置索引填充 151  6.9.2 配置备份和还原超时选项 152  6.9.3 配置备份和还原保持...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     6.8.3 允许和禁止嵌套触发器 149  6.8.4 控制查询的执行 149  6.8.5 配置2000年的支持 150  6.9 管理数据库设置 150  6.9.1 设置索引填充 151  6.9.2 配置备份和还原超时选项 152  6.9.3 配置备份和还原保持...

    SQL.Server.2008管理员必备指南.part3.rar(3/4)

     6.8.3 允许和禁止嵌套触发器 149  6.8.4 控制查询的执行 149  6.8.5 配置2000年的支持 150  6.9 管理数据库设置 150  6.9.1 设置索引填充 151  6.9.2 配置备份和还原超时选项 152  6.9.3 配置备份和还原保持...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     6.8.3 允许和禁止嵌套触发器 149  6.8.4 控制查询的执行 149  6.8.5 配置2000年的支持 150  6.9 管理数据库设置 150  6.9.1 设置索引填充 151  6.9.2 配置备份和还原超时选项 152  6.9.3 配置备份和还原保持...

    超实用的jQuery代码段

    3.1 禁止或启用输入框 3.2 实时监听输入框字符的变化 3.3 实时监听输入框值的变化 3.4 绑定鼠标右键单击事件 3.5 双击不选中文本 3.6 通过单击事件添加或解除绑定 3.7 激活整个div层的单击事件 3.8 鼠标单击实现div...

    realplayer

    (v) 删除此“软件”或“文档”上的任何所有权声明或标签;或者 (vi) 在实时广播时使用 MP3 编码器(陆地、人造卫星、电缆或其它媒体)或者通过互联网及其它网络,例如,内部网(但不仅限于此)进行广播。 您也不得在...

    flex3的cookbook书籍完整版dpf(包含目录)

    启动和禁止拖操作 10.6 节自定义列表类控件的拖动图像 10.7 节. 自定义列表类控件的拽动指示器 第十一章. States(381) 11.1节.设置State的样式和属性 11.2节. 为进入和离开States创建Transitions 11.3节. 使用...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    11.4.6 启用通知 11.4.7 创建缓存依赖 11.5 自定义缓存依赖 11.5.1 基本的自定义缓存依赖 11.5.2 使用消息队列的自定义缓存依赖 11.6 异步页面 11.6.1 创建异步页面 11.6.2 在异步页面中查询数据 ...

    ASP.NET4高级程序设计(第4版) 3/3

    11.4.6 启用通知 384 11.4.7 创建缓存依赖 385 11.5 自定义缓存依赖 386 11.5.1 基本的自定义缓存依赖 386 11.5.2 使用消息队列的自定义缓存依赖 387 11.6 异步页面 389 11.6.1 创建异步页面 390 ...

Global site tag (gtag.js) - Google Analytics