-
出力パラメータの宣言と使用方法: ストアドプロシージャ内で出力パラメータを使用するには、まずパラメータを宣言する必要があります。通常、パラメータはストアドプロシージャの先頭で宣言されます。例えば、以下のように宣言します:
CREATE PROCEDURE GetCustomerCount @CustomerCount INT OUTPUT AS BEGIN -- 出力パラメータの使用例 SELECT @CustomerCount = COUNT(*) FROM Customers END
上記の例では、
@CustomerCount
という名前の出力パラメータが宣言されています。 -
出力パラメータを使用したストアドプロシージャの呼び出し: ストアドプロシージャを呼び出す際には、出力パラメータを指定する必要があります。以下の例では、
EXEC
ステートメントを使用して出力パラメータを指定しています。DECLARE @OutputValue INT EXEC GetCustomerCount @CustomerCount = @OutputValue OUTPUT PRINT 'Customer count: ' + CONVERT(VARCHAR(10), @OutputValue)
上記の例では、
@OutputValue
という変数を定義し、EXEC
ステートメントでGetCustomerCount
ストアドプロシージャを呼び出しています。出力パラメータを指定するには、@CustomerCount = @OutputValue OUTPUT
という形式を使用します。 -
コード例: 以下に、出力パラメータを使用したストアドプロシージャのコード例をいくつか示します。
-- 出力パラメータを使用して特定のカテゴリの商品数を取得する CREATE PROCEDURE GetProductCountByCategory @CategoryID INT, @ProductCount INT OUTPUT AS BEGIN SELECT @ProductCount = COUNT(*) FROM Products WHERE CategoryID = @CategoryID END -- 出力パラメータを使用して特定のユーザーの評価の平均値を取得する CREATE PROCEDURE GetAverageRating @UserID INT, @AverageRating DECIMAL(10, 2) OUTPUT AS BEGIN SELECT @AverageRating = AVG(Rating) FROM Ratings WHERE UserID = @UserID END
上記の例では、それぞれ特定のカテゴリの商品数を取得するためのストアドプロシージャと、特定のユーザーの評価の平均値を取得するためのストアドプロシージャが示されています。
以上が、ストアドプロシージャでの出力パラメータの使用方法と例です。これらの例を参考にして、自身のデータベース環境や要件に合わせたストアドプロシージャを作成してみてください。