ストアド プロシージャを作成する方法 (SQL Server Management Studio)
このトピックでは、SQL Server Management Studio のオブジェクト エクスプローラを使用して Transact-SQL ストアド プロシージャを作成する方法と、AdventureWorks データベース内に単純なストアド プロシージャを作成する例について説明します。
ストアド プロシージャを作成するには
オブジェクト エクスプローラで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース] を展開し、ストアド プロシージャが属するデータベースを展開して、[プログラミング] を展開します。
[ストアド プロシージャ] を右クリックし、[新しいストアド プロシージャ] をクリックします。
[クエリ] メニューの [テンプレート パラメータの値の指定] をクリックします。
[テンプレート パラメータの値の指定] ダイアログ ボックスの [値] 列には、パラメータの推奨値が表示されます。値をそのまま使用するか、または新しい値に置き換えて、[OK] をクリックします。
クエリ エディタで、SELECT ステートメントをプロシージャのステートメントに置き換えます。
構文をテストするには、[クエリ] メニューの [解析] をクリックします。
ストアド プロシージャを作成するには、[クエリ] メニューの [実行] をクリックします。
スクリプトを保存するには、[ファイル] メニューの [保存] をクリックします。ファイル名をそのまま使用するか、または別の名前を入力し、[保存] をクリックします。
セキュリティに関する注意 |
---|
すべてのユーザー入力を検証します。ユーザー入力は検証するまで連結しないでください。検証していないユーザー入力から作成したコマンドを実行してはいけません。詳細については、「SQL インジェクション」を参照してください。 |
ストアド プロシージャの作成例
オブジェクト エクスプローラで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース] を展開し、AdventureWorks データベースを展開して、[プログラミング] を展開します。
[ストアド プロシージャ] を右クリックし、[新しいストアド プロシージャ] をクリックします。
[クエリ] メニューの [テンプレート パラメータの値の指定] をクリックします。
[テンプレート パラメータの値の指定] ダイアログ ボックスで、各パラメータに次の値を入力します。
パラメータ
値
[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
[OK] をクリックします。
クエリ エディタで、SELECT ステートメントを次のステートメントに置き換えます。
SELECT FirstName, LastName, JobTitle, Department FROM HumanResources.vEmployeeDepartment WHERE FirstName = @FirstName AND LastName = @LastName;
構文をテストするには、[クエリ] メニューの [解析] をクリックします。エラー メッセージが返された場合は、ステートメントと上記の情報を比較し、必要に応じて修正します。
ストアド プロシージャを作成するには、[クエリ] メニューの [実行] をクリックします。
スクリプトを保存するには、[ファイル] メニューの [保存] をクリックします。新しいファイル名を入力し、[保存] をクリックします。
ストアド プロシージャを実行するには、ツール バーの [新しいクエリ] をクリックします。
クエリ ウィンドウで、次のステートメントを入力します。
USE AdventureWorks; GO EXECUTE HumanResources.uspGetEmployees @FirstName = N'Diane', @LastName = N'Margheim'; GO
[クエリ] メニューの [実行] をクリックします。