码迷,mamicode.com
首页 > 数据库 > 详细

比较两个数据库中的视图/存储过程的结构(结构比较,不是功能比较)

时间:2014-09-29 15:11:01      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:比较两个数据库中的视图存储过程的结构结构   不是功能比较   

CREATE PROC P_COMPDB

@DB1 SYSNAME,   --第一个库

@DB2 SYSNAME    --第二个库

AS

EXEC('

SELECT 类型=CASE ISNULL(A.XTYPE,B.XTYPE) WHEN ''V'' THEN ''视图'' ELSE ''存储过程'' END

    ,匹配情况=CASE 

        WHEN A.NAME IS NULL THEN ''库 ['+@DB1+'] 中无''

        WHEN B.NAME IS NULL THEN ''库 ['+@DB2+'] 中无''

        ELSE ''结构不同'' END

    ,对象名称=ISNULL(A.NAME,B.NAME)

FROM(

    SELECT A.NAME,A.XTYPE,B.COLID,B.TEXT

    FROM ['+@DB1+']..SYSOBJECTS A,['+@DB1+']..SYSCOMMENTS B

    WHERE A.ID=B.ID AND A.XTYPE IN(''V'',''P'') AND A.STATUS>=0

)A FULL JOIN(

    SELECT A.NAME,A.XTYPE,B.COLID,B.TEXT

    FROM ['+@DB2+']..SYSOBJECTS A,['+@DB2+']..SYSCOMMENTS B

    WHERE A.ID=B.ID AND A.XTYPE IN(''V'',''P'') AND A.STATUS>=0

)B ON A.NAME=B.NAME AND A.XTYPE=B.XTYPE AND A.COLID=B.COLID

WHERE A.NAME IS NULL

    OR B.NAME IS NULL

    OR ISNULL(A.TEXT,'''')<>ISNULL(B.TEXT,'''')

GROUP BY A.NAME,B.NAME,A.XTYPE,B.XTYPE

ORDER BY 类型,匹配情况,对象名称')

GO

比较两个数据库中的视图/存储过程的结构(结构比较,不是功能比较)

标签:比较两个数据库中的视图存储过程的结构结构   不是功能比较   

原文地址:http://blog.csdn.net/mssql_dba/article/details/39667743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!