Udostępnij za pośrednictwem


Tabela Valued funkcje zdefiniowane przez użytkownika

Zdefiniowane przez użytkownika funkcje, które zwraca table Typ danych może być wydajne rozwiązania alternatywne w stosunku do widoków. Funkcje te są określane jako Wycenione tabela funkcji.Funkcja wycenione tabela zdefiniowanej przez użytkownika może być używana z tabela lub widoku wyrażeń dozwolonych w Transact-SQL kwerendy. Widoki są ograniczone do pojedynczej instrukcja SELECT, funkcji zdefiniowanych przez użytkownika może zawierać dodatkowe instrukcje, które umożliwia bardziej wydajne logiki nie jest możliwe w widokach.

Funkcja wycenione tabela zdefiniowaną przez użytkownika może również zastąpić procedur przechowywanych, które zwraca zestaw wyników jednego.Tabela zwrócona przez funkcja zdefiniowaną przez użytkownika można się odwoływać w klauzula FROM Transact-SQL Nie można instrukcja, ale procedur przechowywanych, które zwracają zestawów wyników.

Składniki tabela Valued funkcja zdefiniowanej przez użytkownika

W przypadku wartości tabela zdefiniowaną przez użytkownika funkcja:

  • Klauzula zwraca definiuje zwrotu lokalne nazwy zmiennej tabela zwrócone przez funkcja.Klauzula zwraca definiuje również w formacie tabela.Zakres lokalny zwrotu nazwa zmiennej jest lokalne w funkcja.

  • The Transact-SQL statements in the funkcja body build and insert rows into the return variable defined by the RETURNS klauzula.

  • Podczas wykonywania instrukcja RETURN wiersze wstawione do zmiennej są zwracane w postaci tabelarycznej danych wyjściowych funkcja.instrukcja RETURN nie może mieć argument.

Nr Transact-SQL instrukcje w funkcja zwracająca tabelę może zwracać zestaw bezpośrednio do użytkownika wyników. Jedyne dane, funkcja może zwrócić do użytkownika, to table zwrócone przez funkcję.

Uwaga

The text in row tabela option is automatically zestaw to 256 for a tabela returned by a user-defined funkcja. Nie można zmienić.Instrukcje READTEXT, WRITETEXT i UPDATETEXT nie może być używany do odczytu lub zapisu dowolnej części text, ntext, lub image kolumny w tabela. Aby uzyskać więcej informacji zobaczIn-Row Data.

Przykład

Poniższy przykład tworzy dbo.ufnGetContactInformation funkcja i przedstawiono części składowe funkcja zwracająca tabelę. W tej funkcja jest lokalną nazwę zmiennej zwrotu @retContactInformation. Instrukcje w treści funkcja Wstaw wiersze do tej zmiennej do budowania wynik tabela zwrócone przez funkcja.

W poniższym przykładzie użyto funkcja wycenione tabela dbo.ufnGetContactInformation w klauzula FROM instrukcji SELECT, dwa.