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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 16:03:49
Original
1010 Leute haben es durchsucht

CREATE PROC P_COMPDB@DB1 SYSNAME, --第一个库@DB2 SYSNAME --第二个库ASEXEC(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 库 [+@D

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,&#39;&#39;&#39;&#39;)<>ISNULL(B.TEXT,&#39;&#39;&#39;&#39;)

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

ORDER BY 类型,匹配情况,对象名称&#39;)

GO
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage