专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » delphi计算字段:自动排除计算字段拷贝表数据 »正文

delphi计算字段:自动排除计算字段拷贝表数据

来源: 发布时间:星期四, 2009年2月12日 浏览:116次 评论:0


本文属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\'
)
as
declare @sql nvarchar(4000)

@sql = N\'select @cnt = count(*)
from sysobjects, syscolumns
where sysobjects.id = syscolumns.id
and syscolumns.colstat = 1
and sysobjects.name =
\'\'\' + @tableName + N\'\'\'\'

declare @count
execute sp_executesql @sql, N\'@cnt output\', @count output

@count > 0 begin
@sql = N\' identity_insert \' + @tableName + N\' on\'
execute sp_executesql @sql
end



declare @columns nvarchar(2048)
@columns = N\'\'
select
@columns
= @columns + syscolumns.name + N\',\'
from sysobjects, syscolumns
where sysobjects.id = syscolumns.id
and syscolumns.iscomputed <> 1
and sysobjects.name = @tableName
len(@columns) > 0 begin
@columns = sub(@columns, 1, len(@columns) - 1)
end

@sql = N\'insert \' + @tableName + N\'(\' + @columns + N\') \'
+ N\'select \' + @columns + N\' from \' + @remoteServer + N\'.dbo.\' + @tableName


@condition <> N\'\' begin
@sql = @sql + N\' where \' + @condition
end

execute sp_executesql @sql

@count > 0 begin
@sql = N\' identity_insert \' + @tableName + N\' off\'
execute sp_executesql @sql
end



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: