始める無料で始める

マルチステートメント TVF

渡された月と年のパラメーターに対して、各日のトリップ数と平均乗車時間を返すマルチステートメントのテーブル値関数を作成してください。

この演習はコースの一部です

SQL Server における関数とストアドプロシージャの作成

コースを見る

演習の手順

  • テーブル変数 @DailyTripStats を返す関数 CountTripAvgDuration() を作成します。
  • 入力パラメーター @Month@Year を宣言します。
  • クエリ結果をテーブル変数 @DailyTripStats に挿入します。
  • CAST を使って、StartDatedate 型として選択・グループ化します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Create the function
CREATE FUNCTION ___ (___ CHAR(2), ___ CHAR(4))
-- Specify return variable
RETURNS ___ TABLE(
	TripDate	date,
	TripCount	int,
	AvgDuration	numeric)
AS
BEGIN
-- Insert query results into @DailyTripStats
___ ___
SELECT
    -- Cast StartDate as a date
	___(___ AS ___),
    COUNT(ID),
    AVG(Duration)
FROM CapitalBikeShare
WHERE
	DATEPART(month, StartDate) = @Month AND
    DATEPART(year, StartDate) = @Year
-- Group by StartDate as a date
GROUP BY ___(___ AS ___)
-- Return
___
END
コードを編集して実行