sql-server – 启用检查现有数据的外键
我喜欢外键,但我遇到了一个问题.我有一个转换程序,我禁用表的外键.我这样做的原因是我可以重新转换主表中的所有记录,但是让其他表依赖于那些未触及的表而不必每次都重新转换它们因为它们是巨大的. 我正在使用这些命令来禁用和重新启用外键: ALTER TABLE MyTable NOCHECK CONSTRAINT MyConstraint ALTER TABLE MyTable CHECK CONSTRAINT MyConstraint 但是,在我重新启用约束“检查创建或重新启用时的现有数据”仍然设置为否.我知道它被设置为否因为我禁用了约束,但是通过这样做它改变了我的数据库模式,我不喜欢.我认为这将被视为重新启用约束并将检查现有数据,但显然不是. 有没有办法用ALTER TABLE命令改变它?我知道如果我删除约束并重新创建它,我就可以了,但我不打算编写脚本来重新创建我拥有的每个外键并保持它. 我正在使用SQL Server 2008 R2. 解决方法要重新启用约束:-- Enable the constraint ALTER TABLE MyTable WITH CHECK CHECK CONSTRAINT MyConstraint GO 注意:您必须指定CHECK两次以强制检查所有外键值是否有效.
参考:Guidelines for Disabling Indexes and Constraints 正如评论中所述(对于搜索引擎),这对应于
在目录视图中 (编辑:商洛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Sql Server 2005的1433端口打开局域网访问和进行远程连接
- SQL Server数据库中的存储过程介绍
- SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务
- 让sql2005运行在独立用户下出现 WMI 提供程序错误的解决方式
- SQL 外链接操作小结 inner join left join right join
- sql-server – 如何在没有CLR的SQL Server 2008中调试存储过
- 数据库 – 规范化依赖关系
- T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的
- SQL设置SQL Server最大连接数及查询语句
- Sql注入原理简介_动力节点Java学院整理
- 清空收缩数据库日志文件的方法
- SQL server服务器大内存配置(转)
- sql-server – SQL Server中EXPLAIN表单SQLite的
- SqlServer查询和Kill进程死锁的语句
- 详解删除SQL Server 2005 Compact Edition数据库
- sql-server-2008 – 将日期与sql server中的null
- SQL Server创建维护计划失败(SQL Server:14234
- SQLSever中的触发器基本语法与作用
- SQL2005中char nchar varchar nvarchar数据类型的
- Sql Server 索引使用情况及优化的相关Sql语句分享