自动排除计算字段拷贝表数据
发布时间:2018-08-19 23:14:45 所属栏目:电子商务 来源:站长网
导读:本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!! /* 作者:张友邦 时间:2005-03-03 描述:简单的拷贝一个表的内容 版本:1.0 历史: 注意:*/ALTER procedure dbo.x_p_copyTable( @tableName nvarch
本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!! /* 作者:张友邦 时间:2005-03-03 描述:简单的拷贝一个表的内容 版本:1.0 历史: 注意:*/ALTER procedure dbo.x_p_copyTable( @tableName nvarchar(128), @condition nvarchar(1024) = N'', @remoteServer nvarchar(128) = N'TGM_OLD.span_tgm_020')asdeclare @sql nvarchar(4000)set @sql = N'select @cnt = count(*) from sysobjects, syscolumns where sysobjects.id = syscolumns.id and syscolumns.colstat = 1 and sysobjects.name = ''' + @tableName + N''''declare @count intexecute sp_executesql @sql, N'@cnt int output', @count outputif @count > 0 begin set @sql = N'set identity_insert ' + @tableName + N' on' execute sp_executesql @sqlenddeclare @columns nvarchar(2048)set @columns = N''select @columns = @columns + syscolumns.name + N','from sysobjects, syscolumnswhere sysobjects.id = syscolumns.id and syscolumns.iscomputed <> 1 and sysobjects.name = @tableNameif len(@columns) > 0 begin set @columns = substring(@columns, 1, len(@columns) - 1)endset @sql = N'insert ' + @tableName + N'(' + @columns + N') ' + N'select ' + @columns + N' from ' + @remoteServer + N'.dbo.' + @tableNameif @condition <> N'' begin set @sql = @sql + N' where ' + @conditionendexecute sp_executesql @sqlif @count > 0 begin set @sql = N'set identity_insert ' + @tableName + N' off' execute sp_executesql @sqlend (编辑:文山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |