ユーザー定義関数の実行
SQL Server 2012 では、Transact-SQL を使用してユーザー定義関数を実行できます。
このトピックの内容
作業を開始する準備:
制限事項と制約事項
セキュリティ
ユーザー定義関数を実行するために使用するもの:
Transact-SQL
作業を開始する準備
制限事項と制約事項
Transact-SQL では、パラメーターは、value または @parameter\_name = value を使用して指定できます。パラメーターはトランザクションの一部ではないため、トランザクションでパラメーターが変更され、後でロールバックされても、パラメーターの値を前の値に戻すことはできません。 呼び出し元に返される値は常に、モジュールから戻る時点での値になります。
セキュリティ
権限
EXECUTE ステートメントの実行に権限は必要ありませんが、 EXECUTE 文字列内で参照されるセキュリティ保護可能なリソースに対しては権限が必要です。 たとえば、文字列に INSERT ステートメントが含まれる場合、EXECUTE ステートメントの呼び出し元には、対象のテーブルに対する INSERT 権限が必要です。 EXECUTE ステートメントは、モジュール内に含まれている場合でも、検出されるたびに権限が確認されます。 詳細については、「EXECUTE (Transact-SQL)」を参照してください。
[Top]
Transact-SQL の使用
ユーザー定義関数を実行するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。
USE AdventureWorks2012; GO -- Declares a variable and sets it to zero. -- This variable is used to return the results of the function. DECLARE @ret nvarchar(15)= NULL; -- Executes the dbo.ufnGetSalesOrderStatusText function. --The function requires a value for one parameter, @Status. EXEC @ret = dbo.ufnGetSalesOrderStatusText @Status= 5; --Returns the result in the message tab. PRINT @ret;
詳細については、「EXECUTE (Transact-SQL)」を参照してください。
[Top]