Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 3 cung cấp cho người học các kiến thức: Khái niệm, phân loại, thủ tục với tham số đầu vào, thủ tục có dùng return, thủ tục với tham số đầu ra, bảng tạm trong thủ tục,. nội dung chi tiết. | 8/25/2017 Nội dung Chương 3. Thủ tục nội tại (Store procedure) GV: Lê Thị Minh Nguyện Email: nguyenltm@ 1. 2. 3. 4. 5. 6. Khái niệm Phân loại Thủ tục với tham số đầu vào Thủ tục có dùng return Thủ tục với tham số đầu ra Bảng tạm trong thủ tục Hệ quản trị Cơ sở dữ liệu 1. Khái niệm 2. Phân loại • Store procedure (thủ tục): là một tập hợp chứa các dòng lệnh, các biến và • Thủ tục hệ thống các cấu trúc điều khiển trong ngôn ngữ Transaction-SQL dùng để thực hiện một hành động nào đó. 2 • Bắt đầu bằng chữ sp_ và hầu hết tất cả các thủ tục hệ thống được lưu trữ bên trong CSDL Master. • Lợi ích của thủ tục • Thủ tục do người dùng xây dựng • Tối ưu hóa việc phân tích, biên dịch và thực thi câu lệnh. • Thực hiện một yêu cầu bằng một câu lệnh đơn giản hơn thay vì phải sử dụng nhiều dòng lệnh SQL khi thực thi làm giảm thiểu sự lưu thông trên mạng • Tăng khả năng bảo mật khi cấp phát quyền thông qua thủ tục • Tốc độ xử lý của các thủ tục nội tại rất nhanh. Hệ quản trị Cơ sở dữ liệu 3 Hệ quản trị Cơ sở dữ liệu 4 1 8/25/2017 Tạo thủ tục Tạo thủ tục • Gọi thực hiện thủ tục: Cú pháp: EXEC[UTE] Tên_thủ_tục Ví dụ: EXEC sp_MaxSLHang • Thay đổi nội dung thủ tục Cú pháp: ALTER PROC[EDURE] Tên_thủ_tục AS [Declare biến_cục_bộ] Các_lệnh. • Tạo mới thủ tục • Cú pháp: CREATE PROC[EDURE] Tên_thủ_tục AS [Declare biến_cục_bộ] các_lệnh Hệ quản trị Cơ sở dữ liệu 5 3. Thủ tục với tham số đầu vào Hệ quản trị Cơ sở dữ liệu 6 3. Thủ tục với tham số đầu vào (tt) • Tạo thủ tục tên danhsach có tham số truyền vào là tên nhân viên. • Cú pháp: Liệt kê mã nhân viên, họ lót, tên nhân viên, ngày vào làm, lương: CREATE PROC sp_danhsach @ten nvarchar(20) CREATE PROC[EDURE] Tên_thủ_tục @Tên_tham_số kiểu_dữ_liệu [= giá_trị] AS [Declare biến_cục_bộ] các_lệnh AS SELECT MaNV, HoLot, TenNV, NgayVaoLam, Luong FROM NhanVien WHERE TenNV= @ten • Thực thi: Hệ quản trị Cơ sở dữ liệu 7 sp_danhsach ‘Linh’ hoặc exec sp_danhsach ‘Linh’ Hệ quản trị Cơ sở dữ .