1203 Nguyenquochuy bt07
1203 Nguyenquochuy bt07
2280601049
22DTHE1 5 câu procedure
-Câu 1: CREATE PROCEDURE P1 AS BEGIN SELECT HD.MAHD, HD.NGAY, KH.TENKH,
SUM(CTHD.SOLUONG * VT.GIABAN) AS TONGTG FROM HOADON HD JOIN CHITIETHOADON
CTHD ON HD.MAHD = CTHD.MAHD JOIN KHACHHANG KH ON HD.MAKH = KH.MAKH JOIN
VATTU VT ON CTHD.MAVT = VT.MAVT GROUP BY HD.MAHD, HD.NGAY, KH.TENKH; END; -
Câu 2: CREATE PROCEDURE P2 (@MaHD INT) AS BEGIN DELETE FROM CHITIETHOADON
WHERE MAHD = @MaHD; END;
-Câu 3: CREATE PROCEDURE P3 (@Nam INT, @TongDoanhThu DECIMAL(18,2) OUTPUT) AS
BEGIN SELECT @TongDoanhThu = SUM(CTHD.SOLUONG * VT.GIABAN) FROM HOADON HD
JOIN CHITIETHOADON CTHD ON HD.MAHD = CTHD.MAHD JOIN VATTU VT ON CTHD.MAVT =
VT.MAVT WHERE YEAR(HD.NGAY) = @Nam; END;
-Câu 4: CREATE PROCEDURE P4 (@Thang INT, @Nam INT, @DoanhThu DECIMAL(18,2)
OUTPUT) AS BEGIN SELECT @DoanhThu = SUM(CTHD.SOLUONG * VT.GIABAN) FROM
HOADON HD JOIN CHITIETHOADON CTHD ON HD.MAHD = CTHD.MAHD JOIN VATTU VT ON
CTHD.MAVT = VT.MAVT WHERE MONTH(HD.NGAY) = @Thang AND YEAR(HD.NGAY) =
@Nam; END;
-Câu 5: SELECT TOP 1 MAVT, TENVT, (SUM(CTHD.SOLUONG * VT.GIABAN) -
SUM(CTHD.SOLUONG * VT.GIAMUA)) AS Lai FROM CHITIETHOADON CTHD JOIN VATTU VT
ON CTHD.MAVT = VT.MAVT GROUP BY MAVT, TENVT ORDER BY Lai ASC; 2 câu function -Câu
1: CREATE FUNCTION f1 (@So INT) RETURNS NVARCHAR(10) AS BEGIN DECLARE @KetQua
NVARCHAR(10); IF @So % 2 = 0 SET @KetQua = 'Chẵn'; ELSE SET @KetQua = 'Lẻ'; RETURN
@KetQua; END; -Câu 2: CREATE FUNCTION f2 (@n INT) RETURNS BIGINT AS BEGIN DECLARE
@KetQua BIGINT; DECLARE @i INT; SET @KetQua = 1; SET @i = 1; WHILE @i <= @n BEGIN
SET @KetQua = @KetQua * @i; SET @i = @i + 1; END RETURN @KetQua; END;