เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Multi Statement TVF

สร้าง multi statement table valued function ที่คืนค่าจำนวนการเดินทางและระยะเวลาเฉลี่ยของแต่ละวัน โดยอ้างอิงจากค่าพารามิเตอร์เดือนและปีที่ส่งเข้ามา

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเขียนฟังก์ชันและ Stored Procedures ใน SQL Server

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างฟังก์ชัน CountTripAvgDuration() ที่คืนค่าเป็นตัวแปรตาราง (table variable) ชื่อ @DailyTripStats
  • ประกาศพารามิเตอร์อินพุต @Month และ @Year
  • แทรกผลลัพธ์ของคิวรีลงในตัวแปรตาราง @DailyTripStats
  • ใช้ CAST เพื่อ SELECT และ GROUP BY คอลัมน์ StartDate ในชนิดข้อมูล date

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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
แก้ไขและรันโค้ด