批量修改 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