2010-05-20 62 views
3

我有一个表值函数,它正常工作,如果我尝试下面的查询:使用SQL Server中的视图中的表值函数

SELECT * 
FROM dbo.GetScheduleForEmployee() AS schedule 

但是,如果我尝试创建与查询视图我得到“太少参数”的错误。

表值函数和视图是否存在限制?

+0

这是MS SQL Server的? – 2010-05-20 19:47:06

+0

向我们展示您的功能以及如何定义您的视图! – 2010-05-20 20:26:35

+0

该问题只发生在查询设计器中。 – 2010-05-20 20:51:31

回答

5

这个工作对我来说:

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 
+0

我刚刚意识到,只有在使用查询设计器创建视图时才会出现问题。 – 2010-05-20 20:47:16

+0

如果您使用MySQL,则应注意查询设计器将只执行放置在其中的第一行/语句。 – 2010-05-20 21:28:47

+0

谢谢rlb.usa我使用SQL Server(如标题和问题标签中指定), – 2010-05-20 22:38:51