2010-05-20 27 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