lOMoARcPSD|45315597
-- BI THC HNH S 4: Trigger - Procedure
-- a. Bi t p v Store Procedure
-- 1. In ra dòng Xin cho
CREATE PROCEDURE p1
AS
BEGIN
PRINT N'Xin cho'
END;
-- exec
EXEC p1;
-- 2. In ra dòng Xin cho’ + @ten vi @ten l tham s đầu vo l tên ca bn.
-- Cho thc thi v in giá tr ca các tham s ny để kim tra
CREATE PROCEDURE p2
@ten NVARCHAR(50)
AS
BEGIN
DECLARE @result NVARCHAR(50)
SET @result = N'Xin cho ' + @ten
PRINT @result
END;
-- exec
EXEC p2 N'Trương Văn Hiển';
-- 3. Nhp vo 2 s @s1, @s2. In ra câu tng l : @tg vi @tg = @s1 + @s2
CREATE PROCEDURE p3
lOMoARcPSD|45315597
@s1 REAL, @s2 REAL
AS
BEGIN
DECLARE @tg REAL, @out NVARCHAR(50)
SET @tg = @s1 + @s2
SET @out = N'tng l : ' + CAST(@tg AS NVARCHAR(50))
PRINT @out
END;
-- exec
EXEC p3 3.21, 7.65;
-- 4. Nhp vo 2 s @s1, @s2. Xut tng @s1+@s2 ra tham s @tong.
--Nhp vo 2 s @s1, @s2. In ra câu S ln nht ca @s1 v @s2 l max
-- vi @s1, @s2, max l các giá tr tươngng
CREATE PROCEDURE p4
@s1 REAL, @s2 REAL
AS
BEGIN
DECLARE @tong REAL, @max REAL, @out NVARCHAR(50)
SET @tong = @s1 + @s2
PRINT @tong
IF @s1 < @s2
BEGIN
SET @max = @s2
END
ELSE
lOMoARcPSD|45315597
BEGIN
SET @max = @s1
END
SET @out = CONCAT(N'S ln nht ca ', @s1, N' v ', @s2, N' l ', @max)
PRINT @out
END;
-- exec
EXEC p4 3.21, 7.65;
-- 5. Nhp vo 2 s @s1, @s2. Xut min v max ca chúng ra tham s @max.
-- Cho thc thi v in giá tr ca các tham s ny để kim tra
CREATE PROCEDURE p5
@s1 REAL, @s2 REAL
AS
BEGIN
DECLARE @min REAL, @max REAL, @out NVARCHAR(50)
IF @s1 < @s2
BEGIN
SET @min = @s1
SET @max = @s2
END
ELSE
BEGIN
SET @min = @s2
SET @max = @s1
END
SET @out = CONCAT('Min: ', @min, N' v Max: ', @max)
PRINT @out
lOMoARcPSD|45315597
END;
-- exec
EXEC p5 3.21, 7.65;
-- 6. Nhp vo s nguyên @n. In ra các s t 1 đến @n
CREATE PROCEDURE p6
@n INT
AS
BEGIN
DECLARE @i INT, @out NVARCHAR(50)
SET @i = 1
SET @out = ''
WHILE @i <= @n
BEGIN
SET @out = CONCAT(@out, ' ', @i)
SET @i = @i + 1
END
PRINT @out
END;
-- exec
EXEC p6 10;
-- 7. Nhp vo s nguyên @n. In ra tng các s chn t 1 đến @n
CREATE PROCEDURE p7
@n INT
AS
BEGIN
DECLARE @i INT, @sum INT, @out NVARCHAR(50)
SET @i = 1
lOMoARcPSD|45315597
SET @sum = 0
WHILE @i <= @n
BEGIN
IF @i % 2 = 0
BEGIN
SET @sum = @sum + @i
END
SET @i = @i + 1
END
SET @out = CONCAT(N'Tng các s chn t 1 đến ', @n, N' l ', @sum)
PRINT @out
END;
-- exec
EXEC p7 10;
-- 8. Nhp vo s nguyên @n. In ra tng v s ng các s chn t 1 đến @n
-- Cho thc thi v in giá tr ca các tham s ny để kim tra
CREATE PROCEDURE p8
@n INT
AS
BEGIN
DECLARE @i INT, @sum INT, @count INT
SET @i = 1
SET @sum = 0
SET @count = 0
WHILE @i <= @n
BEGIN
IF @i % 2 = 0
lOMoARcPSD|45315597
BEGIN
SET @sum = @sum + @i
SET @count = @count + 1
END
SET @i = @i + 1
END
PRINT N'Tng các s chn t 1 đến ' + CAST(@n AS NVARCHAR(50)) + ' l ' + CAST(@sum AS
NVARCHAR(50))
PRINT N'S ng các s chn t 1 đến ' + CAST(@n AS NVARCHAR(50)) + ' l ' + CAST(@count
AS NVARCHAR(50))
END;
-- exec
EXEC p8 10;

Preview text:

lOMoARcPSD| 45315597
-- BÀI THỰC HÀNH SỐ 4: Trigger - Procedure
-- a. Bài t p về Store Procedureậ
-- 1. In ra dòng ‘Xin chào’ CREATE PROCEDURE p1 AS BEGIN PRINT N'Xin chào' END; -- exec EXEC p1;
-- 2. In ra dòng ‘Xin chào’ + @ten với @ten là tham số đầu vào là tên của bạn.
-- Cho thực thi và in giá trị của các tham số này để kiểm tra CREATE PROCEDURE p2 @ten NVARCHAR(50) AS BEGIN DECLARE @result NVARCHAR(50) SET
@result = N'Xin chào ' + @ten PRINT @result END; -- exec
EXEC p2 N'Trương Văn Hiển';
-- 3. Nhập vào 2 số @s1, @s2. In ra câu ‘tổng là : @tg ‘ với @tg = @s1 + @s2 CREATE PROCEDURE p3 lOMoARcPSD| 45315597 @s1 REAL, @s2 REAL AS BEGIN
DECLARE @tg REAL, @out NVARCHAR(50) SET @tg = @s1 + @s2 SET
@out = N'tổng là : ' + CAST(@tg AS NVARCHAR(50)) PRINT @out END; -- exec EXEC p3 3.21, 7.65;
-- 4. Nhập vào 2 số @s1, @s2. Xuất tổng @s1+@s2 ra tham số @tong.
--Nhập vào 2 số @s1, @s2. In ra câu ‘Số lớn nhất của @s1 và @s2 là max’
-- với @s1, @s2, max là các giá trị tương ứng CREATE PROCEDURE p4 @s1 REAL, @s2 REAL AS BEGIN
DECLARE @tong REAL, @max REAL, @out NVARCHAR(50) SET @tong = @s1 + @s2 PRINT @tong IF @s1 < @s2 BEGIN SET @max = @s2 END ELSE lOMoARcPSD| 45315597 BEGIN SET @max = @s1 END
SET @out = CONCAT(N'Số lớn nhất của ', @s1, N' và ', @s2, N' là ', @max) PRINT @out END; -- exec EXEC p4 3.21, 7.65;
-- 5. Nhập vào 2 số @s1, @s2. Xuất min và max của chúng ra tham số @max.
-- Cho thực thi và in giá trị của các tham số này để kiểm tra CREATE PROCEDURE p5 @s1 REAL, @s2 REAL AS BEGIN
DECLARE @min REAL, @max REAL, @out NVARCHAR(50) IF @s1 < @s2 BEGIN SET @min = @s1 SET @max = @s2 END ELSE BEGIN SET @min = @s2 SET @max = @s1 END
SET @out = CONCAT('Min: ', @min, N' và Max: ', @max) PRINT @out lOMoARcPSD| 45315597 END; -- exec EXEC p5 3.21, 7.65;
-- 6. Nhập vào số nguyên @n. In ra các số từ 1 đến @n CREATE PROCEDURE p6 @n INT AS BEGIN
DECLARE @i INT, @out NVARCHAR(50) SET @i = 1 SET @out = '' WHILE @i <= @n BEGIN
SET @out = CONCAT(@out, ' ', @i) SET @i = @i + 1 END PRINT @out END; -- exec EXEC p6 10;
-- 7. Nhập vào số nguyên @n. In ra tổng các số chẵn từ 1 đến @n CREATE PROCEDURE p7 @n INT AS BEGIN
DECLARE @i INT, @sum INT, @out NVARCHAR(50) SET @i = 1 lOMoARcPSD| 45315597 SET @sum = 0 WHILE @i <= @n BEGIN IF @i % 2 = 0 BEGIN SET @sum = @sum + @i END SET @i = @i + 1 END
SET @out = CONCAT(N'Tổng các số chẵn từ 1 đến ', @n, N' là ', @sum) PRINT @out END; -- exec EXEC p7 10;
-- 8. Nhập vào số nguyên @n. In ra tổng và số lượng các số chẵn từ 1 đến @n
-- Cho thực thi và in giá trị của các tham số này để kiểm tra CREATE PROCEDURE p8 @n INT AS BEGIN
DECLARE @i INT, @sum INT, @count INT SET @i = 1 SET @sum = 0 SET @count = 0 WHILE @i <= @n BEGIN IF @i % 2 = 0 lOMoARcPSD| 45315597 BEGIN SET @sum = @sum + @i SET @count = @count + 1 END SET @i = @i + 1 END
PRINT N'Tổng các số chẵn từ 1 đến ' + CAST(@n AS NVARCHAR(50)) + ' là ' + CAST(@sum AS NVARCHAR(50))
PRINT N'Số lượng các số chẵn từ 1 đến ' + CAST(@n AS NVARCHAR(50)) + ' là ' + CAST(@count AS NVARCHAR(50)) END; -- exec EXEC p8 10;