Buoi04 it4859q 8167 buithidiep 721461 20221

51 1 0
Buoi04   it4859q    8167   buithidiep 721461 20221

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài tập thực hành Thiết kế và Quản trị Cơ sở dữ liệu, Bài thực hành số 4 Đại học Bách khoa Hà Nội, Thực hành thiết kế và quản trị Cơ sở dữ liệu bằng các câu lệnh SQL Tài liệu bao gồm các câu lệnh SQL, kèm theo hình ảnh minh họa sau khi chạy các câu lệnh theo yêu cầu của bài thực hành.

IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 MỤC LỤC MỤC LỤC BÀI THỰC HÀNH SỐ 04 Bài tập Store Procedure In dòng chữ “Xin Chao” In dòng chữ “ Xin chào” + @ten với @ten tham số đầu vào tên bạn Cho thực thi in giá trị cảu tham số để kiểm tra Nhập vào số @s1,@s2 In câu “Tổng : @tg’ với @tg = @s1+@s2 Nhập vào số @s1,@s2 Xuất max chúng tham số @max Cho thực thi in giá trị tham số để kiểm tra Nhập vào số nguyên @n In số từ đến @n Nhập vào số nguyên @n In tổng số chẵn từ đến @n Viết store procedure tương ứng với cầu phần View Sau cho thể kết 10 7.1 Cho biết mã số, họ tên, ngày sinh, địa vị trí cầu thủ thuộc đội bóng “SHB Đà Nẵng” có quốc tịch “Bra-xin” 10 7.2 Cho biết kết (MATRAN, NGAYTD, TENSAN, TENCLB_81671, TENCLB_81672, KETQUA) trận đấu vòng mùa bóng năm 2009 10 7.3 Cho biết mã huấn luyện viên, họ tên, ngày sinh, địa chỉ, vai trò tên CLB làm việc huấn luyện viên có quốc tịch “Việt Nam” 12 7.4 Cho biết mã câu lạc bộ, tên câu lạc bộ, tên sân vận động, địa số lượng cầu thủ nước ngồi (có quốc tịch khác “Việt Nam”) tương ứng câu lạc nhiều cầu thủ nước 13 7.5 Cho biết tên tỉnh, số lượng câu thủ thi đấu vị trí tiền đạo câu lạc thuộc địa bàn tỉnh quản lý 13 7.6 Cho biết tên câu lạc bộ,tên tỉnh mà CLB đóng nằm vị trí cao bảng xếp hạng vịng năm 2009 14 7.7 Cho biết tên huấn luyện viên nắm giữ vị trí câu lạc mà chưa có số điện thoại 14 7.8 Liệt kê huấn luyện viên thuộc quốc gia Việt Nam chưa làm công tác huấn luyện câu lạc 15 7.9 Cho biết kết trận đấu diễn (MACLB1, MACLB2, NAM, VONG,SOBANTHANG,SOBANTHUA) 16 7.10 Cho biết kết trận đấu sân nhà (MACLB, NAM, VONG, SOBANTHANG, SOBANTHUA) 17 7.11 Cho biết kết trận đấu sân khách (MACLB, NAM, VONG,SOBANTHANG,SOBANTHUA) 17 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 7.12 Cho biết danh sách trận đấu (NGAYTD, TENSAN, TENCLB_81671, TENCLB_81672, KETQUA) câu lạc CLB xếp hạng cao tính đến hết vịng năm 2009 19 7.13 Cho biết danh sách trận đấu (NGAYTD, TENSAN, TENCLB_81671, TENCLB_81672, KETQUA) câu lạc CLB có thứ hạng thấp bảng xếp hạng vòng năm 2009 20 Ứng với bảng CSDL QLBongDa, bạn viết stored Procedure ứng với công việc Insert/Update/Delete/Select Trong Stored procedure update delete lấy khóa làm tham số20 8.1 Bảng CAUTHU_DIEPBT 20 INSERT 20 UPDATE 21 DELETE 22 SELECT 23 8.2 Bảng HLV_CLB_DIEPBT 24 INSERT 24 UPDATE 24 DELETE 25 SELECT 26 8.3 Bảng CAULACBO_DIEPBT 27 INSERT 27 UPDATE 28 DELETE 28 SELECT 29 8.4 Bảng HUANLUYENVIEN_DIEPBT 30 INSERT 30 UPDATE 31 DELETE 32 SELECT 33 8.5 Bảng QUOCGIA_DIEPBT 34 INSERT 34 UPDATE 35 DELETE 36 SELECT 37 8.6 Bảng SANVD_DIEPBT 38 INSERT 38 UPDATE 39 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 DELETE 40 SELECT 41 8.7 Bảng TINH_DIEPBT 42 INSERT 42 UPDATE 43 DELETE 43 SELECT 44 8.8 Bảng TRANDAU_DIEPBT 45 INSERT 45 UPDATE 45 DELETE 47 SELECT 47 8.9 Bảng BANGXH_DIEPBT 48 INSERT 48 UPDATE 49 DELETE 50 SELECT 51 IT-4859Q 20198167 – Bùi Thị Diệp BÀI THỰC HÀNH SỐ 04 Bài tập Store Procedure In dòng chữ “Xin Chao” - Câu lệnh truy vấn: create procedure Cau1 as begin print(N'Xin chào Bùi Thị Diệp') end - Kết thực hiện: Hình In dòng chữ “Xin Chào” Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 In dòng chữ “ Xin chào” + @ten với @ten tham số đầu vào tên bạn Cho thực thi in giá trị cảu tham số để kiểm tra - Câu lệnh truy vấn: create procedure Câu2 @name nvarchar(20) as begin print(N'Xin chào ' + @name) end exec Câu2 N'Bùi Thị Diệp' - Kết thực hiện: Hình 2.In dịng chữ “ Xin chào” + @ten với @ten tham số đầu vào tên bạn Cho thực thi in giá trị cảu tham số để kiểm tra Nhập vào số @s1,@s2 In câu “Tổng : @tg’ với @tg = @s1+@s2 - Câu lệnh truy vấn: create procedure Câu3 @s1 int, @s2 int, @tg int, @ans nvarchar(40)=null out as begin set @tg = @s1 + @s2 set @ans = N'Tổng là: ' + cast(@tg as nvarchar(10)) end declare @sum int declare @final nvarchar(40) IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 exec Câu3 3, 6, @sum, @ans = @final out select @final as KETQUA - Kết thực hiện: Hình Nhập vào số @s1,@s2 In câu “Tổng : @tg’ với @tg = @s1+@s2 Nhập vào số @s1,@s2 Xuất max chúng tham số @max Cho thực thi in giá trị tham số để kiểm tra - Câu lệnh truy vấn: create procedure Câu04 @s1 int, @s2 int, @max int, @min int, @str nvarchar(100) out as begin if @s1 > @s2 begin set @max = @s1 set @min = @s2 end else begin set @max = @s2 set @min = @s1 end set @str = N'Max ' + cast(@s1 as nvarchar) + ' ' + cast(@s2 as nvarchar) + ' ' + cast(@max as nvarchar) set @str += N'Min ' + cast(@s1 as nvarchar) + ' ' + cast(@s2 as nvarchar) + ' ' + cast(@min as nvarchar) end IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 declare @min_n int, @max_n int, @ans nvarchar(100) exec Câu04 6, 8, @min_n, @max_n, @ans out select @ans - Kết thực hiện: Hình Nhập vào số @s1,@s2 Xuất max chúng tham số @max Cho thực thi in giá trị tham số để kiểm tra Nhập vào số nguyên @n In số từ đến @n - Câu lệnh truy vấn: create proc Câu5 @i int, @n int out as begin set @i = while (@i < @n) begin set @i += print(@i) end end declare @i_n int, @inp int exec Câu5 1, 10 - Kết thực hiện: IT-4859Q 20198167 – Bùi Thị Diệp Hình Nhập vào số nguyên @n In số từ đến @n Nhập vào số nguyên @n In tổng số chẵn từ đến @n - Câu lệnh truy vấn: create proc Câu6 @i int, @n int, @sum int out as begin print(N'Dãy số chẵn từ tới ' + cast(@n as varchar(4)) + ':') while @i < @n begin set @i += if @i % = begin print(@i) set @sum += @i end else Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp begin continue end end print N'Tổng số chẵn dãy: ' + cast(@sum as nvarchar(10)) end declare @s_inp int exec Câu6 1, 8, - Kết thực hiện: Hình Nhập vào số nguyên @n In tổng số chẵn từ đến @n Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 Viết store procedure tương ứng với cầu phần View Sau cho thể kết 7.1 Cho biết mã số, họ tên, ngày sinh, địa vị trí cầu thủ thuộc đội bóng “SHB Đà Nẵng” có quốc tịch “Bra-xin” - Câu lệnh truy vấn: USE QLBongDa_DIEPBT_8167 create proc Cau07_01 as begin select ct.MACT_8167, ct.HOTEN_8167, ct.NGAYSINH_8167, ct.DIACHI_8167, ct.VITRI_8167 from CAUTHU_DIEPBT ct, CAULACBO_DIEPBT clb where MAQG_8167='BRA' and clb.TENCLB_8167=N'SHB Đà Nẵng' and clb.MACLB_8167=ct.MACLB_8167 end exec Cau07_01 - Kết thực hiện: Hình Cho biết mã số, họ tên, ngày sinh, địa vị trí cầu thủ thuộc đội bóng “SHB Đà Nẵng” có quốc tịch “Bra-xin” 7.2 Cho biết kết (MATRAN, NGAYTD, TENSAN, TENCLB_81671, TENCLB_81672, KETQUA) trận đấu vịng mùa bóng năm 2009 - Câu lệnh truy vấn: USE QLBongDa_DIEPBT_8167 create proc Cau7_2_1 as begin select td.MATRAN_8167, td.NGAYTD_8167, s.TENSAN_8167, clb1.TENCLB_8167 as TENCLB1_8167, clb2.TENCLB_8167 as TENCLB2_8167, td.KETQUA_8167 from TRANDAU_DIEPBT td left join SANVD_DIEPBT s on td.MASAN_8167=s.MASAN_8167 left join CAULACBO_DIEPBT clb1 on clb1.MACLB_8167=td.MACLB1_8167 left join CAULACBO_DIEPBT clb2 on clb2.MACLB_8167=td.MACLB2_8167 where VONG_8167=3 IT-4859Q 20198167 – Bùi Thị Diệp - Kết thực hiện: SELECT - Câu lệnh truy vấn: CREATE PROC SELECT_QUOCGIA_DIEPBT @MAQG_8167 VARCHAR(10) AS BEGIN IF NOT EXISTS (SELECT * FROM QUOCGIA_DIEPBT WHERE MAQG_8167 = @MAQG_8167) PRINT N'KHÔNG TỒN TẠI QUỐC GIA NÀY' ELSE SELECT * FROM QUOCGIA_DIEPBT WHERE MAQG_8167 = @MAQG_8167 Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 END EXEC SELECT_QUOCGIA_DIEPBT VN - Kết thực hiện: 8.6 Bảng SANVD_DIEPBT INSERT - Câu lệnh truy vấn: CREATE PROC INSERT_SANVD_DIEPBT @MASAN_8167 VARCHAR(10), @TENSAN_8167 NVARCHAR(50), @DIACHI_8167 NVARCHAR(200) AS BEGIN IF EXISTS (SELECT * FROM SANVD_DIEPBT WHERE MASAN_8167 = @MASAN_8167) PRINT N'ĐÃ TỒN TẠI MÃ SÂN, KHÔNG THỂ THÊM' ELSE INSERT INTO SANVD_DIEPBT VALUES (@MASAN_8167,@TENSAN_8167,@DIACHI_8167) END EXEC INSERT_SANVD_DIEPBT 'TB',N'Thái Bình',N'Thái Bình' IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 - Kết thực hiện: UPDATE - Câu lệnh truy vấn: CREATE PROC UPDATE_SANVD_DIEPBT @MASAN_8167 VARCHAR(10), @MASANMOI_8167 VARCHAR(10), @TENSAN_8167 NVARCHAR(50), @DIACHI_8167 NVARCHAR(200) AS BEGIN IF NOT EXISTS (SELECT * FROM SANVD_DIEPBT WHERE MASAN_8167 = @MASAN_8167) PRINT N'KHÔNG TỒN TẠI, KHÔNG THỂ SỬA' ELSE UPDATE SANVD_DIEPBT SET MASAN_8167 = @MASANMOI_8167, TENSAN_8167 = @TENSAN_8167, DIACHI_8167 = @DIACHI_8167 WHERE MASAN_8167 = @MASAN_8167 END EXEC UPDATE_SANVD_DIEPBT 'TB','QN',N'Quảng Ninh',N'Cẩm Phả, Quảng Ninh' - Kết thực hiện: IT-4859Q 20198167 – Bùi Thị Diệp DELETE - Câu lệnh truy vấn: CREATE PROC DELETE_SANVD_DIEPBT @MASAN_8167 VARCHAR(10) AS BEGIN IF NOT EXISTS (SELECT * FROM SANVD_DIEPBT WHERE MASAN_8167 = @MASAN_8167) PRINT N'KHƠNG TỒN TẠI, KHƠNG THỂ XĨA' ELSE DELETE SANVD_DIEPBT WHERE MASAN_8167 = @MASAN_8167 END EXEC DELETE_SANVD_DIEPBT QN - Kết thực hiện: Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp SELECT - Câu lệnh truy vấn: CREATE PROC SELECT_SANVD_DIEPBT @MASAN_8167 VARCHAR(10) AS BEGIN SELECT * FROM SANVD_DIEPBT WHERE MASAN_8167 = @MASAN_8167 END EXEC SELECT_SANVD_DIEPBT LA - Kết thực hiện: Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp 8.7 Bảng TINH_DIEPBT INSERT - Câu lệnh truy vấn: CREATE PROC INSERT_TINH_DIEPBT @MATINH VARCHAR(10), @TENTINH NVARCHAR(50) AS BEGIN INSERT INTO TINH_DIEPBT VALUES (@MATINH,@TENTINH) END EXEC INSERT_TINH_DIEPBT 'TB', N'Thái Bình' - Kết thực hiện: Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 UPDATE - Câu lệnh truy vấn: CREATE PROC UPDATE_TINH_DIEPBT @MATINH_8167 VARCHAR(10),@MATINHMOI_8167 VARCHAR(10), @TENTINH_8167 NVARCHAR(50) AS BEGIN UPDATE TINH_DIEPBT SET MATINH_8167 = @MATINHMOI_8167, TENTINH_8167 = @TENTINH_8167 WHERE MATINH_8167 = @MATINH_8167 END EXEC UPDATE_TINH_DIEPBT 'TB','HP','Hải Phòng' - Kết thực hiện: DELETE - Câu lệnh truy vấn: CREATE PROC DELETE_TINH_DIEPBT @MATINH_8167 VARCHAR(10) AS BEGIN DELETE TINH_DIEPBT WHERE MATINH_8167 = @MATINH_8167 END EXEC DELETE_TINH_DIEPBT 'HP' IT-4859Q 20198167 – Bùi Thị Diệp - Kết thực hiện: SELECT - Câu lệnh truy vấn: CREATE PROC SELECT_TINH_DIEPBT @MATINH_8167 VARCHAR(10) AS BEGIN SELECT * FROM TINH_DIEPBT WHERE MATINH_8167 = @MATINH_8167 END EXEC SELECT_TINH_DIEPBT 'BD' - Kết thực hiện: Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 8.8 Bảng TRANDAU_DIEPBT INSERT - Câu lệnh truy vấn: CREATE PROC INSERT_TRANDAU_DIEPBT @NAM_8167 INT, @VONG_8167 INT, @NGAYTD_8167 DATETIME,@MACLB1_8167 VARCHAR(10), @MACLB2_8167 VARCHAR(10),@MASAN_8167 VARCHAR(5),@KETQUA_8167 VARCHAR(5) AS BEGIN INSERT INTO TRANDAU_DIEPBT VALUES (@NAM_8167,@VONG_8167,@NGAYTD_8167,@MACLB1_8167,@MACLB2_8167,@MASAN_81 67,@KETQUA_8167) END EXEC INSERT_TRANDAU_DIEPBT 2009,4,'2009-04-04','TPY','BBD','TH','0-4' - Kết thực hiện: UPDATE - Câu lệnh truy vấn: CREATE PROC UPDATE_TRANDAU_DIEPBT @MATRAN_8167 INT,@NAM_8167 INT, @VONG_8167 INT, @NGAYTD_8167 DATETIME,@MACLB1_8167 VARCHAR(10), @MACLB2_8167 VARCHAR(10),@MASAN_8167 VARCHAR(5),@KETQUA_8167 VARCHAR(5) AS BEGIN UPDATE TRANDAU_DIEPBT IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 SET NAM_8167 = @NAM_8167, VONG_8167 = @VONG_8167, NGAYTD_8167 = @NGAYTD_8167, MACLB1_8167 = @MACLB1_8167, MACLB2_8167 = @MACLB2_8167, MASAN_8167 = @MASAN_8167, KETQUA_8167 = @KETQUA_8167 WHERE MATRAN_8167 = @MATRAN_8167 END EXEC UPDATE_TRANDAU_DIEPBT 9,2000,4,'2009-0404','TPY','BBD','TH','0-3' - Kết thực hiện: IT-4859Q 20198167 – Bùi Thị Diệp DELETE - Câu lệnh truy vấn: CREATE PROC DELETE_TRANDAU_DIEPBT @MATRAN_8167 INT AS BEGIN DELETE TRANDAU_DIEPBT WHERE MATRAN_8167 = @MATRAN_8167 END EXEC DELETE_TRANDAU_DIEPBT - Kết thực hiện: SELECT - Câu lệnh truy vấn: CREATE PROC SELECT_TRANDAU_DIEPBT @MATRAN_8167 INT AS BEGIN SELECT * FROM TRANDAU_DIEPBT WHERE MATRAN_8167 = @MATRAN_8167 END EXEC SELECT_TRANDAU_DIEPBT Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 - Kết thực hiện: 8.9 Bảng BANGXH_DIEPBT INSERT - Câu lệnh truy vấn: CREATE PROC INSERT_BANGXH_DIEPBT @MACLB_8167 VARCHAR(10),@NAM_8167 INT,@VONG_8167 INT,@SOTRAN_8167 INT, @THANG_8167 INT,@HOA_8167 INT,@THUA_8167 INT,@HIEUSO_8167 VARCHAR(5),@DIEM_8167 INT,@HANG_8167 INT AS BEGIN INSERT INTO BANGXH_DIEPBT VALUES (@MACLB_8167,@NAM_8167,@VONG_8167,@SOTRAN_8167, @THANG_8167,@HOA_8167,@THUA_8167,@HIEUSO_8167,@DIEM_8167,@HANG_81 67) END EXEC INSERT_BANGXH_DIEPBT 'BBD', 2021, 1, 10, 8, 2, 0, '2-0', 2, IT-4859Q 20198167 – Bùi Thị Diệp Tuần 13 - Kết thực hiện: UPDATE - Câu lệnh truy vấn: CREATE PROC UPDATE_BANGXH_DIEPBT @MACLB_8167 VARCHAR(5),@MACLBMOI_8167 VARCHAR(5),@NAM_8167 INT,@VONG_8167 INT,@SOTRAN_8167 INT, @THANG_8167 INT,@HOA_8167 INT,@THUA_8167 INT,@HIEUSO_8167 VARCHAR(5),@DIEM_8167 INT,@HANG_8167 INT AS BEGIN UPDATE BANGXH_DIEPBT SET MACLB_8167 = @MACLBMOI_8167, NAM_8167 = @NAM_8167, VONG_8167=@VONG_8167,SOTRAN_8167=@SOTRAN_8167, THANG_8167=@THANG_8167,THUA_8167=@THUA_8167,HIEUSO_8167=@HIEUSO_816 7,DIEM_8167=@DIEM_8167,HANG_8167=@HANG_8167 WHERE MACLB_8167=@MACLB_8167 AND NAM_8167 = @NAM_8167 AND VONG_8167 = @VONG_8167 END EXEC UPDATE_BANGXH_DIEPBT 'BBD','BBD',2021,1,3,3,0,2,'2-3',10,1 IT-4859Q 20198167 – Bùi Thị Diệp - Kết thực hiện: DELETE - Câu lệnh truy vấn: CREATE PROC DELETE_BANGXH_DIEPBT @MACLB_8167 VARCHAR(5),@NAM_8167 INT,@VONG_8167 INT AS BEGIN DELETE BANGXH_DIEPBT WHERE MACLB_8167=@MACLB_8167 AND NAM_8167 = @NAM_8167 AND VONG_8167 = @VONG_8167 END EXEC DELETE_BANGXH_DIEPBT 'BBD',2009,4 Tuần 13 IT-4859Q 20198167 – Bùi Thị Diệp - Kết thực hiện: SELECT - Câu lệnh truy vấn: CREATE PROC SELECT_BANGXH_DIEPBT @MACLB_8167 VARCHAR(5),@NAM_8167 INT,@VONG_8167 INT AS BEGIN SELECT * FROM BANGXH_DIEPBT WHERE MACLB_8167=@MACLB_8167 AND NAM_8167 = @NAM_8167 AND VONG_8167 = @VONG_8167 END EXEC SELECT_BANGXH_DIEPBT 'BBD',2021,1 - Kết thực hiện: Tuần 13

Ngày đăng: 12/05/2023, 21:52

Tài liệu cùng người dùng

  • Đang cập nhật ...