为了在对基础表进行更改时识别高风险视图并能够进行sp_refreshview
,我想获取查询表中所有(*)列的所有视图的名称。使用SELECT *
例如,查找具有以下情况的视图:
SELECT *
SELECT SomeAlias.*
注意:
我了解SELECT *
是一种不好的做法,强烈建议不要recommended
答案 0 :(得分:1)
这是我的方法:
SELECT DISTINCT
o.name AS ObjectName,
o.type_desc ObjectType,
SUBSTRING (m.definition, PATINDEX ( '%[.][*]%' , m.definition )-4, 20) MatchedPattern
FROM sys.sql_modules m
INNER JOIN
sys.objects o
ON m.object_id = o.object_id
WHERE m.definition Like '%[.][*]%'
AND o.type_desc IN ('VIEW')