【发布时间】:2011-03-06 14:18:48
【问题描述】:
这是我的用户定义表类型...
CREATE TYPE [dbo].[FooType] AS TABLE(
[Bar] [INT],
)
这是我在我的表值函数中必须做的以返回类型:
CREATE FUNCTION [dbo].[GetFoos]
RETURN @FooTypes TABLE ([Bar] [INT])
INSERT INTO @FooTypes (1)
RETURN
基本上,我必须在函数的 RETURN 语句中重新声明我的类型定义。有没有一种方法可以简单地在 RETURN 语句中声明类型?
我原以为这会起作用:
CREATE FUNCTION [dbo].[GetFoos]
RETURN @FooTypes [FooType]
INSERT INTO @FooTypes (1)
RETURN
在 MSDN/Google 上找不到关于此的任何帮助....有人吗?
编辑
我没有标记我的答案,并提出了这个问题 - 因为我在 6 个月后遇到了同样的情况。
有没有人知道是否可以从表值函数返回用户定义的表类型?如果没有,除了我所做的之外,还有更好的解决方法吗? (再次声明类型)。
【问题讨论】:
-
确认 2014 年仍然不可能。
标签: sql-server tsql sql-server-2008 user-defined-functions user-defined-types