时间:2021-07-01 10:21:17 帮助过:8人阅读
结构相同的数据库之间复制数据 无 use oldgoDECLARE NoCheckConstraintAll CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @schema VARCHAR(40)OPEN NoCheckConstr
结构相同的数据库之间复制数据 <无>use old go DECLARE NoCheckConstraintAll CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @schema VARCHAR(40) OPEN NoCheckConstraintAll FETCH NEXT FROM NoCheckConstraintAll INTO @name, @schema WHILE ( @@FETCH_STATUS <> -1 ) BEGIN IF ( @@FETCH_STATUS <> -2 ) BEGIN DECLARE @sql NVARCHAR(1024) SET @sql=' ALTER TABLE ' + Quotename(@schema) + '.' + Quotename(@name)+' NOCHECK CONSTRAINT ALL' EXEC Sp_executesql @sql END FETCH NEXT FROM NoCheckConstraintAll INTO @name, @schema END CLOSE NoCheckConstraintAll DEALLOCATE NoCheckConstraintAll GO DECLARE CopyTables CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @schema VARCHAR(40) OPEN CopyTables FETCH NEXT FROM CopyTables INTO @name, @schema WHILE ( @@FETCH_STATUS <> -1 ) BEGIN IF ( @@FETCH_STATUS <> -2 ) BEGIN DECLARE @sql NVARCHAR(1024) SET @sql='INSERT INTO [new].' + Quotename(@schema) + '.' + Quotename(@name)+' SELECT * FROM '+ Quotename(@schema) + '.' + Quotename(@name) EXEC Sp_executesql @sql END FETCH NEXT FROM CopyTables INTO @name, @schema END CLOSE CopyTables DEALLOCATE CopyTables GO DECLARE CheckConstraintAll CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @schema VARCHAR(40) OPEN CheckConstraintAll FETCH NEXT FROM CheckConstraintAll INTO @name, @schema WHILE ( @@FETCH_STATUS <> -1 ) BEGIN IF ( @@FETCH_STATUS <> -2 ) BEGIN DECLARE @sql NVARCHAR(1024) SET @sql=' ALTER TABLE ' + Quotename(@schema) + '.' + Quotename(@name)+' CHECK CONSTRAINT ALL' EXEC Sp_executesql @sql END FETCH NEXT FROM CheckConstraintAll INTO @name, @schema END CLOSE CheckConstraintAll DEALLOCATE CheckConstraintAll GO