ストアド プロシージャを作成する方法 (SQL Server Management Studio)

このトピックでは、SQL Server Management Studio のオブジェクト エクスプローラを使用して Transact-SQL ストアド プロシージャを作成する方法と、AdventureWorks データベース内に単純なストアド プロシージャを作成する例について説明します。

ストアド プロシージャを作成するには

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

  2. [データベース] を展開し、ストアド プロシージャが属するデータベースを展開して、[プログラミング] を展開します。

  3. [ストアド プロシージャ] を右クリックし、[新しいストアド プロシージャ] をクリックします。

  4. [クエリ] メニューの [テンプレート パラメータの値の指定] をクリックします。

  5. [テンプレート パラメータの値の指定] ダイアログ ボックスの [値] 列には、パラメータの推奨値が表示されます。値をそのまま使用するか、または新しい値に置き換えて、[OK] をクリックします。

  6. クエリ エディタで、SELECT ステートメントをプロシージャのステートメントに置き換えます。

  7. 構文をテストするには、[クエリ] メニューの [解析] をクリックします。

  8. ストアド プロシージャを作成するには、[クエリ] メニューの [実行] をクリックします。

  9. スクリプトを保存するには、[ファイル] メニューの [保存] をクリックします。ファイル名をそのまま使用するか、または別の名前を入力し、[保存] をクリックします。

セキュリティに関する注意セキュリティに関する注意

すべてのユーザー入力を検証します。ユーザー入力は検証するまで連結しないでください。検証していないユーザー入力から作成したコマンドを実行してはいけません。詳細については、「SQL インジェクション」を参照してください。

ストアド プロシージャの作成例

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

  2. [データベース] を展開し、AdventureWorks データベースを展開して、[プログラミング] を展開します。

  3. [ストアド プロシージャ] を右クリックし、[新しいストアド プロシージャ] をクリックします。

  4. [クエリ] メニューの [テンプレート パラメータの値の指定] をクリックします。

  5. [テンプレート パラメータの値の指定] ダイアログ ボックスで、各パラメータに次の値を入力します。

    パラメータ

    [Author]

    名前

    [Create Date]

    今日の日付

    [Description]

    従業員のデータが返されます

    [Procedure_name]

    HumanResources.uspGetEmployees

    [@Param1]

    @LastName

    [@Datatype_For_Param1]

    nvarchar(50)

    [Default_Value_For_Param1]

    NULL

    [@Param2]

    @FirstName

    [@Datatype_For_Param2]

    nvarchar(50)

    [Default_Value_For_Param2]

    NULL

  6. [OK] をクリックします。

  7. クエリ エディタで、SELECT ステートメントを次のステートメントに置き換えます。

        SELECT FirstName, LastName, JobTitle, Department
        FROM HumanResources.vEmployeeDepartment
        WHERE FirstName = @FirstName AND LastName = @LastName;
    
  8. 構文をテストするには、[クエリ] メニューの [解析] をクリックします。エラー メッセージが返された場合は、ステートメントと上記の情報を比較し、必要に応じて修正します。

  9. ストアド プロシージャを作成するには、[クエリ] メニューの [実行] をクリックします。

  10. スクリプトを保存するには、[ファイル] メニューの [保存] をクリックします。新しいファイル名を入力し、[保存] をクリックします。

  11. ストアド プロシージャを実行するには、ツール バーの [新しいクエリ] をクリックします。

  12. クエリ ウィンドウで、次のステートメントを入力します。

    USE AdventureWorks;
    GO
    EXECUTE HumanResources.uspGetEmployees @FirstName = N'Diane', @LastName = N'Margheim';
    GO
    
  13. [クエリ] メニューの [実行] をクリックします。