【问题标题】:Using a table-value function inside a view in SQL Server在 SQL Server 的视图中使用表值函数
【发布时间】:2010-05-20 19:45:08
【问题描述】:

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

SELECT    *
FROM    dbo.GetScheduleForEmployee() AS schedule

但是,如果我尝试使用该查询创建视图,则会收到“参数太少”错误。

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

【问题讨论】:

  • 向我们展示您的功能以及您如何定义视图!
  • 问题只发生在查询设计器内部。

标签: sql-server user-defined-functions


【解决方案1】:

这对我有用:

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

【讨论】:

  • 我刚刚意识到只有在使用查询设计器创建视图时才会出现问题
  • 如果您使用 MySQL,您应该注意查询设计器只会执行您放入其中的任何内容的第一行/语句。
  • 感谢 rlb.usa 我正在使用 SQL Server(在标题和问题标签中指定),
猜你喜欢
  • 1970-01-01
  • 2011-08-24
  • 1970-01-01
  • 2011-08-27
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 2016-02-29
相关资源
最近更新 更多