執行使用者定義函式
使用 Transact-SQL 執行使用者定義函數。
叫用純量函式必須至少使用函式的兩部分名稱 (<schema>.<function>
)。 如需詳細資訊,請參閱 CREATE FUNCTION (TRANSACT-SQL)。
限制
在 Transact-SQL 中,可以使用 <value>
或使用 @parameter_name = <value>
來提供參數。 參數不是交易的一部分。 因此,如果在稍後復原的交易中變更參數,則參數的值不會還原為先前的值。 傳回呼叫端的值一定是模組傳回時的值。
權限
執行 EXECUTE 陳述式不需要任何權限。 不過,您必須對 EXECUTE
字串內所參考的安全性實體具備權限。 例如,如果字串包含 INSERT 陳述式,EXECUTE
陳述式的呼叫端就必須有目標資料表的 INSERT
權限。 遇到 EXECUTE
陳述式時會檢查權限,即使模組內包含 EXECUTE
陳述式也一樣。 如需詳細資訊,請參閱 EXECUTE。
使用 Transact-SQL
這個範例會使用大部分 ufnGetSalesOrderStatusText
版本中都有提供的 AdventureWorks2022
純量值函數。 此函數的目的是為了從指定整數傳回銷售狀態的文字值。 請將整數 1 到 7 傳遞給 @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;
結果如下。
Order Status: Shipped