次の方法で共有


ユーザー定義関数の実行

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 の使用

ユーザー定義関数を実行するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    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]