gpt4 book ai didi

sql-server - 如何通过存储过程执行数据库中的所有 View

转载 作者:行者123 更新时间:2023-11-28 19:56:21 25 4
gpt4 key购买 nike

我们的表架构与 View 架构不同步存在问题。我想知道我如何拥有一个存储过程(用于 Sql Server)来获取数据库中的所有 View ,并通过 select *

执行每个 View

这是我想象的(伪):


声明x
设置 x = Select object from sysobjects where object = view

x 中的 foreach View
sp_execute '从 View 中选择 *'


然后我们可以有一个每晚调用它的自动化测试。 SqlException 表示某些内容不同步。

最佳答案

应该在 2000 年及以后工作

select quotename(table_schema) +'.' + quotename(table_name) as ViewNAme,
identity(int,1,1) as ID
into #test
from information_schema.tables
where table_type = 'view'


declare @Loopid int,@MaxID int


select @LoopID =1,@MaxID =MAX(id)
from #test

declare @ViewName varchar(100)

while @LoopID <= @MaxID
begin

select @ViewName = ViewNAme
from #test
where id = @LoopID

exec ('select top 1 * from ' + @ViewName)
set @LoopID = @LoopID + 1
end

drop table #test

我主要关注你问题的一部分,另请参阅 how to make sure that the view will have the underlying table changes by using sp_refreshview

关于sql-server - 如何通过存储过程执行数据库中的所有 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3533757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com