首页 > 数据库 >SQLServer比较两个数据库的对象

SQLServer比较两个数据库的对象

时间:2022-11-10 13:45:16浏览次数:45  
标签:SourceDatabase 对象 DestinationDatabase 数据库 SQLServer TABLE type SELECT desc

 

两个变量,表示要比较的数据库名:
@SourceDatabase
@DestinationDatabase

DECLARE @SourceDatabase VARCHAR(50) 
DECLARE @DestinationDatabase VARCHAR(50) 
DECLARE @SQL VARCHAR(MAX) 
     
SELECT @SourceDatabase = 'ABC' 
SELECT @DestinationDatabase = 'XYZ'
     
SELECT @SQL = 
'
	SELECT 
		ISNULL(S.name,D.name) ObjectName
		,CASE  
			WHEN S.object_id IS NULL 
				THEN D.type_desc + '' is missing in the Source Database: '	+ @SourceDatabase + ''' 
			WHEN D.object_id IS NULL 
				THEN S.type_desc +  '' is missing in the Destination Database: ' + @DestinationDatabase + ''' 
		END ''Status'' 
	FROM 
	(
		SELECT * FROM ' + @SourceDatabase + '.SYS.objects  
		WHERE Type_desc not in (''INTERNAL_TABLE'',''SYSTEM_TABLE'',''SERVICE_QUEUE'')
	) AS S  
	FULL OUTER JOIN 
	(
		SELECT * FROM ' + @DestinationDatabase + '.SYS.objects  
		WHERE Type_desc not in (''INTERNAL_TABLE'',''SYSTEM_TABLE'',''SERVICE_QUEUE'')
	) AS D 
	ON S.name = D.name 
		AND S.type = D.type 
	ORDER BY isnull(S.type,D.type)
'  
EXEC (@Sql)

 

标签:SourceDatabase,对象,DestinationDatabase,数据库,SQLServer,TABLE,type,SELECT,desc
From: https://www.cnblogs.com/abclife/p/16876766.html

相关文章

  • Java中的对象使用、局部变量与成员变量的区别
    对象的使用对象的使用格式创建对象:类名对象名=new类名();使用对象访问类中的成员:对象名.成员变量;对象名.成员方法();对象的使用格式举例:publicstatic......
  • [JavaScript-06]面向对象
    1.面向对象//大括号就是对象p={a:1,b:2,c:3,}//系统对象全部基于window//console.log(window);//window.alert(1);//alert(2);//console......
  • 开源数据库PolarDB为什么能捕获娃哈哈的心?
    简介: 在10月25日由阿里云开发者社区、PolarDB开源社区、infoQ联合举办的「开源人说」第三期——《数据库PolarDB专场》沙龙上,中启乘数科技(杭州)有限公司联合创始人唐成带来......
  • simpread-获取 JavaScript 对象的键 _ D 栈 - Delft Stack
    本文由简悦SimpRead转码,原文地址www.delftstack.com使用Object.keys()方法获取javascript对象的键Object.keys()函数返回一个包含javascript对象键的数组......
  • 分别在mysql和postgreSQL中存储json对象
    1.添加maven依赖<dependency><groupId>com.vladmihalcea</groupId><artifactId>hibernate-types-52</artifactId><version>${hibernate-types.version}</v......
  • PolarDB开源未来将有哪些新动向?阿里云数据库开源负责人来解答
    简介: 在10月25日由阿里云开发者社区、PolarDB开源社区、infoQ联合举办的「开源人说」第三期——《数据库PolarDB专场》沙龙上,阿里云数据库开源负责人、数据库资深技术专家......
  • 数据库系列
    1-Redis01-Redis介绍/安装/配置02-windows系统redis安装和使用03-python操作redis04-API的使用05-高级api使用06-Redis持久化07-使用常见问题08-主从复制原理与优......
  • H5游戏开发-面向对象编程
    七、面向对象编程1.认识类与对象类是一种复杂的数据结构,他是将不同类型的数据与这些数据相关的操作封装在一起的集合体。对象是类的实例,是类描述的具体事物。(类是对象的......
  • mysql8.0数据库安装
    1.创建数据库目录文件夹data2.添加配置文件my.ini[mysql]#设置mysql数据库客户端默认字符集default-character-set=UTF8[mysqld]#设置mysql数据库默认端口号,注意端口......
  • Python 批量导出mysql数据库表结构(转)
    https://blog.csdn.net/weixin_44309131/article/details/124119037?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v......