--如果表结构比较少直接用sql语句拼接即可:
DECLARE @SqlString VARCHAR(8000)SET @SqlString = '';SELECT @SqlString = @SqlString + 'ALTER TABLE ' + s.[name] + ' NOCHECK CONSTRAINT ALL ;'FROM sysobjects AS s WHERE s.[type] = 'U'SELECT @SqlStringEXEC(@SqlString)
--如果表结构比较多,生成的sql语句超过字符,则使用游标一个一个处理:
DECLARE curID CURSORFORSELECT NAME FROM sysobjects WHERE xtype= 'u'OPEN curIDDECLARE @TableName VARCHAR(100)FETCH NEXT FROM curID INTO @TableNameWHILE (@@FETCH_STATUS = 0)BEGINEXEC('ALTER TABLE ' + @TableName + ' NOCHECK CONSTRAINT ALL ;');FETCH NEXT FROM curID INTO @TableNameENDCLOSE curIDDEALLOCATE curID
--开启约束,修改上面脚本中的NOCHECK成CHECK即可