表值函数刷新[英] Table-valued function refresh

本文是小编为大家收集整理的关于表值函数刷新的处理方法,想解了表值函数刷新的问题怎么解决?表值函数刷新问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我在 SQL Server 中有一个表值函数 (TVF),如下所示:

CREATE FUNCTION TVF_xyz(@AuditKey INT)
RETURNS TABLE
AS
    RETURN
        SELECT *
        FROM xyz 
        WHERE AUDIT_KEY = @AuditKey
GO

现在,我在 xyz 表中添加了一个新列.

当我使用 TVF_xyz 查询时,它没有显示新列(显示除新添加的所有其他列).

查询:

SELECT TOP 10 * 
FROM TVF_xyz (1543)

我想知道,如何刷新 TVF 以显示新列.

PS: Select * 在 TVF 中用于获取所有列.

推荐答案

经过一番搜索,我找到了 sp_refreshsqlmodule (Transact-SQL),TVF的常见行为.

为了刷新 TVF,需要执行以下 SP:

EXEC sys.sp_refreshsqlmodule 'TVF_xyz'

本文地址:https://www.itbaoku.cn/post/1793970.html