⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 比较两个数据库中的视图&存储过程的结构.sql

📁 SQL教程
💻 SQL
字号:
/*--数据结构比较

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

--邹建 2004.07(引用请保留此信息)--*/

/*--调用示例

	--调用
	exec p_compdb 'pubs','northwind'
--*/
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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -