批量修改 SQL SERVER 数据

批量修改表数据时 常常会遇到 约束的限制. 可采用 禁用 约束,批量修改数据,再启用约束的方式.  如有更好的方式 请大家补充!

文章内的 SQL 语句是网上搜罗来的 !   因当时没有记录出处, 还请原作谅解!

1.  生成禁用约束语句

1 SELECT  'ALTER TABLE [' + b.name + '] NOCHECK CONSTRAINT ' + a.name + ';' AS 禁用约束
2 FROM    sysobjects a ,
3         sysobjects b
4 WHERE   a.xtype = 'f'
5         AND a.parent_obj = b.id

 

2.  查询所有的表名称

SELECT  name
FROM    sysobjects
WHERE   xtype = 'U'

 

3.  生成启用约束的语句

SELECT  'ALTER TABLE [' + b.name + '] CHECK CONSTRAINT ' + a.name + ';' AS 启用约束
FROM    sysobjects a ,
        sysobjects b
WHERE   a.xtype = 'f'
        AND a.parent_obj = b.id

 

 

posted on 2013-07-24 13:50  胡一凡  阅读(818)  评论(0编辑  收藏  举报

导航