/*--数据库数据复制
【程序编程相关:关于MSSQL占用过多内存的问题】将一个数据库中的数据复制到另一个数据库 【推荐阅读:数据库关闭的学问】
适用范围:数据库结构发生了变化,想将旧数据库进行升级 【扩展信息:informix的性能优化(之一)】
如果某列在目标数据库中为标识列,将不会被复制 这样就可以根据新的数据库结构创建一个空库,然后 将旧数据库的所有数据复制到新库中 --*//*--调用示例
exec p_copydb 源数据库,目标数据库
exec p_copydb acc_五医,acc_演示数据8 --*/if exists (select * from dbo.sysobjects where id = object_id(n[dbo].[p_copydb]) and objectproperty(id, nisprocedure) = 1)
drop procedure [dbo].[p_copydb] gocreate proc p_copydb
@o_dbname sysname, --要复制数据的数据库--源数据库 @n_dbname sysname, --接收数据的数据库--目标数据库 @cleardb bit=0 --清空目标数据库 as declare @sql nvarchar(4000)--禁用约束,防止复制时的数据冲突
set @sql=declare #tbc cursor for select name,tbname=object_name(parent_obj) from +@n_dbname+..sysobjects where xtype in(c,f) exec(@sql) declare @name sysname,@tbname sysname open #tbc ... 下一页