寻找两个库的同名且有差异的存储过程
CREATE FUNCTION DBO.GET_xxx(@S VARCHAR(MAX))
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @SQL VARCHAR(MAX)
SET @SQL=''
DECLARE @len int
set @len=LEN(@S)
set @S=REPLACE(@S, char(9), '')
set @S=REPLACE(@S, char(32), '')
set @S=REPLACE(@S, char(10), '')
set @S=REPLACE(@S, char(13), '')
SELECT @SQL=@SQL+ SUBSTRING(@S,NUMBER,1)
FROM MASTER..SPT_VALUES
WHERE TYPE='P' AND NUMBER<@len+1
AND( SUBSTRING(@S,NUMBER,1) LIKE '[A-Z]'-- OR SUBSTRING(@S,NUMBER,1) LIKE '[0-9]'
)
ORDER BY NUMBER
RETURN @SQL
END
go
-- 替换 db1name db2name
select distinct isnull(a.name,b.name) as 对象名称 ,upper(DBO.GET_xxx(a.text)),upper(DBO.GET_xxx(b.text))
from(
select a.name,a.xtype,b.colid,b.text
from [db1name]..sysobjects a,[db1name]..syscomments b
where a.id=b.id and a.xtype in('V','P') and a.status>=0
)a join(
select a.name,a.xtype,b.colid,b.text
from [db2name]..sysobjects a,[db2name]..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 LIKE '%td_planin_inter_qry_h%' and HASHBYTES('MD5',upper(DBO.GET_xxx(a.text))) <>HASHBYTES('MD5',upper(DBO.GET_xxx(b.text)))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话