用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - sql代码库

根据表的主键字段和数据字段从其它数据库同步相同表的数据

2016-08-14 作者: 小章举报

[sql]代码库

USE [CMS2]
GO
 
DECLARE @sql NVARCHAR(MAX)
 
SET @sql = N'MERGE [dbo].[RolePermission] target
            USING [CMS].[dbo].[RolePermission] source
            ON target.[' + STUFF((
            SELECT N'] AND target.[' + [COLUMN_NAME] + N']=source.[' + [COLUMN_NAME]
            FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
            WHERE SUBSTRING([CONSTRAINT_NAME], 1, 2) = 'PK'
                AND [TABLE_NAME] = 'RolePermission'
            FOR XML PATH('')
            ), 1, 14, N'') + '] 
            WHEN MATCHED
            THEN UPDATE SET target.[' + STUFF((
            SELECT N'],target.[' + [COLUMN_NAME] + N']=source.[' + [COLUMN_NAME]
            FROM INFORMATION_SCHEMA.COLUMNS
            WHERE [TABLE_NAME] = 'RolePermission'
            FOR XML PATH('')
            ), 1, 10, N'') + ']
            WHEN NOT MATCHED
            THEN INSERT VALUES([' + STUFF((
            SELECT N'],[' + [COLUMN_NAME]
            FROM INFORMATION_SCHEMA.COLUMNS
            WHERE [TABLE_NAME] = 'RolePermission'
            FOR XML PATH('')
            ), 1, 3, N'') + N'])   
            WHEN NOT MATCHED BY SOURCE THEN   
            DELETE;'
 
EXEC sp_executesql @sql


网友评论    (发表评论)

共2 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...