Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL Server
Azure SQL Database
Baza danych SQL w Microsoft Fabric
Wykonaj funkcję zdefiniowaną przez użytkownika przy użyciu języka Transact-SQL.
Funkcje skalarne muszą być wywoływane przy użyciu co najmniej dwuczęściowej nazwy funkcji (<schema>.<function>). Aby uzyskać więcej informacji, zobacz CREATE FUNCTION (Transact-SQL).
Ograniczenia
W języku Transact-SQL parametry można dostarczyć przy użyciu <value> lub przy użyciu @parameter_name = <value>. Parametr nie jest częścią transakcji. W związku z tym jeśli parametr zostanie zmieniony w transakcji, która zostanie później wycofana, wartość parametru nie zostanie przywrócona do poprzedniej wartości. Wartość zwracana do elementu wywołującego jest zawsze wartością w momencie zwracania modułu.
Uprawnienia
Uprawnienia nie są wymagane do uruchomienia instrukcji EXECUTE. Jednak uprawnienia są wymagane w zabezpieczanych przywoływalnych w ciągu EXECUTE. Jeśli na przykład ciąg zawiera instrukcję INSERT, podmiot wywołujący instrukcję EXECUTE musi mieć uprawnienia INSERT na tabeli docelowej. Uprawnienia są sprawdzane w momencie napotkania instrukcji EXECUTE, nawet jeśli instrukcja EXECUTE jest uwzględniona w module. Aby uzyskać więcej informacji, zapoznaj się z EXECUTE.
Użyj Transact-SQL
W tym przykładzie użyto funkcji wartości skalarnej ufnGetSalesOrderStatusText, która jest dostępna w większości wersji AdventureWorks2025. Celem funkcji jest zwrócenie wartości tekstowej określającej stan sprzedaży na podstawie podanej liczby całkowitej. Zróżnicuj przykład, przekazując liczby całkowite od 1 do 7 do parametru @Status.
USE [AdventureWorks2022]
GO
-- Declare a variable to return the results of the function.
DECLARE @ret NVARCHAR(15);
-- Execute the function while passing a value to the @status parameter
EXEC @ret = dbo.ufnGetSalesOrderStatusText @Status = 5;
-- View the returned value.
-- The Execute and Select statements must be executed at the same time.
SELECT N'Order Status: ' + @ret;
Oto wynik.
Order Status: Shipped