在SQL Server中的视图中使用表值函数

4

我有一个表值函数,如果我尝试以下查询,则可以正常工作:

SELECT    *
FROM    dbo.GetScheduleForEmployee() AS schedule

然而,如果我尝试使用该查询创建视图,则会出现“参数过少”的错误。

表值函数和视图有限制吗?


1
展示一下你的函数以及如何定义你的视图! - marc_s
问题仅在查询设计器中发生。 - Hugo Zapata
1个回答

6
这对我有用:
CREATE FUNCTION dbo.GetScheduleForEmployee()
RETURNS TABLE
AS
        RETURN
        (
        SELECT  1 AS id
        UNION ALL
        SELECT  2
        )
GO

CREATE VIEW myview
AS
SELECT  *
FROM    GetScheduleForEmployee() AS schedule

GO

SELECT  *
FROM    myview

1
我刚意识到问题只在使用查询设计器创建视图时发生。 - Hugo Zapata
如果您正在使用MySQL,应该注意查询设计器只会执行您在其中放置的第一行/语句。 - rlb.usa
谢谢 rlb.usa,我正在使用SQL Server(如标题和问题标签所指定)。 - Hugo Zapata

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接