SQL Server 2008 - Wie kann ich einen benutzerdefinierten Tabellentyp von einer Tabellenwertfunktion zurückgeben?
Hier ist mein benutzerdefinierter Tabellentyp ...
CREATE TYPE [dbo].[FooType] AS TABLE(
[Bar] [INT],
)
Dies ist, was ich in meiner Tabellenwertfunktion tun musste, um den Typ zurückzugeben:
CREATE FUNCTION [dbo].[GetFoos]
RETURN @FooTypes TABLE ([Bar] [INT])
INSERT INTO @FooTypes (1)
RETURN
rundsätzlich muss ich meine Typdefinition in der RETURN-Anweisung der Funktion neu deklarieren. Gibt es keine Möglichkeit, den Typ einfach in der RETURN-Anweisung zu deklarieren?
Ich hätte gedacht, das würde funktionieren:
CREATE FUNCTION [dbo].[GetFoos]
RETURN @FooTypes [FooType]
INSERT INTO @FooTypes (1)
RETURN
Kann keine Hilfe zu MSDN / Google zu diesem Thema finden?
BEARBEITE
Ich habe die Markierung meiner Antwort aufgehoben und stoße auf diese Frage, da ich 6 Monate später auf dasselbe Szenario stoße.
Hat jemand eine Idee, ob es möglich ist, einen benutzerdefinierten Tabellentyp von einer Tabellenwertfunktion zurückzugeben? Wenn nicht, gibt es eine bessere Problemumgehung als das, was ich getan habe? (Deklarieren Sie den Typ erneut.)