SQLServer 查询view中是否包含某个关键字
程序员文章站
2023-01-14 10:01:40
在数据库view的创建中,会遇到一些跨数据库的view脚本,但是在将view更新到production的时候可能忘记更改database name,导致出现一些问题。 以下脚本可以检查出包含某个关键字的view name,只需要修改 条件即可 TSql type(v,fn,p) select nam ......
在数据库view的创建中,会遇到一些跨数据库的view脚本,但是在将view更新到production的时候可能忘记更改database name,导致出现一些问题。
以下脚本可以检查出包含某个关键字的view name,只需要修改where objecttext like '%word%'
条件即可
--type(v,fn,p) select name,row_number()over(order by name) as number into #tempobjects from sys.objects where type='v' -- declare @rowindex int declare @rowcount int -- select @rowcount=count(*) from #tempobjects set @rowindex=1 -- create table #tempfindobjecttext(objecttext varchar(max)) create table #tempfindobject(objectname varchar(500)) -- declare @objectname varchar(500) -- while @rowindex<=@rowcount begin select @objectname=name from #tempobjects where number=@rowindex -- truncate table #tempfindobjecttext -- insert into #tempfindobjecttext(objecttext) execute sp_helptext @objectname -- if exists(select top 1 * from #tempfindobjecttext where objecttext like '%word%') begin insert into #tempfindobject(objectname)values(@objectname) end -- set @rowindex=@rowindex+1 end -- select * from #tempfindobject -- truncate table #tempobjects truncate table #tempfindobjecttext truncate table #tempfindobject -- drop table #tempobjects drop table #tempfindobjecttext drop table #tempfindobject