SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <yufei>
-- Create date: <2009-02-16,>
-- Deion: <数据合并复制>
-- =============================================
CREATE PROCEDURE U_DataMerge
(
@DestDatabase varchar(25),
@SrcDatabase varchar(25),
@DestTable varchar(25),
@SrcTable varchar(25),
@PramaryKey varchar(25)
)
AS
BEGIN
declare @sql varchar(1000)
set @sql ='insert into ['+@DestDatabase+'].[dbo].'+@DestTable
set @sql=@sql+' select * from ['+@SrcDatabase+'].[dbo].'+@SrcTable
set @sql=@sql+' where '+@PramaryKey +' not in '
set @sql=@sql+'( select '+@PramaryKey+' from ['+@SrcDatabase+'].[dbo].'+@DestTable+' )'
exec( @sql)
END
GO调用: exec U_DataMerge '目标数据库名','源数据库名','目标数据表名','源数据表名','表主键名'
go
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <yufei>
-- Create date: <2009-02-16,>
-- Deion: <数据合并复制>
-- =============================================
CREATE PROCEDURE U_DataMerge
(
@DestDatabase varchar(25),
@SrcDatabase varchar(25),
@DestTable varchar(25),
@SrcTable varchar(25),
@PramaryKey varchar(25)
)
AS
BEGIN
declare @sql varchar(1000)
set @sql ='insert into ['+@DestDatabase+'].[dbo].'+@DestTable
set @sql=@sql+' select * from ['+@SrcDatabase+'].[dbo].'+@SrcTable
set @sql=@sql+' where '+@PramaryKey +' not in '
set @sql=@sql+'( select '+@PramaryKey+' from ['+@SrcDatabase+'].[dbo].'+@DestTable+' )'
exec( @sql)
END
GO调用: exec U_DataMerge '目标数据库名','源数据库名','目标数据表名','源数据表名','表主键名'
go