Using a table-value function inside a view in SQL

2019-03-31 04:01发布

问题:

I have a table-value function that works correctly if I try the following query:

SELECT    *
FROM    dbo.GetScheduleForEmployee() AS schedule

However if I try to create a view with that query I get a "too few parameters" error.

Is there a limitation with table-value functions and views?

回答1:

This works for me:

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