Sql 使用元数据查找视图中的计算列

Sql 使用元数据查找视图中的计算列,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,是否有任何方法可以使用SQL Server元数据在视图中查找作为计算/表达式结果的列?sys.columns目录视图有Is_Computed字段,但对于我的一个视图中的一些字段,它返回了0,这些字段是CASE表达式的结果,所以我猜它只适用于表中的计算列。有没有类似的元数据适用于视图 编辑:我在这里试图实现的是对一些而不是触发器的审计。我有许多视图需要使用触发器进行更新,我希望确保视图中的每一列都在触发器中进行了说明,这样就不会丢失任何数据。问题是,我的查询正在标记无法更新的字段,因为它们是计算的

是否有任何方法可以使用SQL Server元数据在视图中查找作为计算/表达式结果的列?
sys.columns
目录视图有
Is_Computed
字段,但对于我的一个视图中的一些字段,它返回了
0
,这些字段是
CASE
表达式的结果,所以我猜它只适用于表中的计算列。有没有类似的元数据适用于视图


编辑:我在这里试图实现的是对一些
而不是
触发器的审计。我有许多视图需要使用触发器进行更新,我希望确保视图中的每一列都在触发器中进行了说明,这样就不会丢失任何数据。问题是,我的查询正在标记无法更新的字段,因为它们是计算的结果,我希望找到一种方法从结果中排除这些字段。

不太可能,因为视图基本上是一个已编译的查询。你想达到什么目的?在某种程度上,每一列都可以被认为是经过计算的。或者考虑一个列,它是从一个基表中重命名一个列。我编辑了我的问题,更多地解释了我试图实现的目标。任何包含“=”或“as”的列定义实际上都是一个计算列。搜索这些字符串将返回一些无关紧要的(例如简单重命名)计算列,但这可能会减少足够的搜索空间以供使用。@PieterGeerkens你说得对,这对我来说也行,但我不确定如何获取视图中列的列定义。有什么建议吗?