我在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中用于获取所有列。
答案 0 :(得分:3)
答案 1 :(得分:0)
https://msdn.microsoft.com/en-us/library/bb386954(v=vs.110).aspx
以下SQL函数明确声明它返回一个TABLE。因此,隐式定义返回的行集结构。
样品
CREATE FUNCTION ProductsCostingMoreThan(@cost money)
RETURNS TABLE
AS
RETURN
SELECT ProductID, UnitPrice
FROM Products
WHERE UnitPrice > @cost