bài giảng chương iii procedure, function, view, trigger & index

124 382 0
bài giảng chương iii procedure, function, view, trigger & index

Đ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

Chương III. PROCEDURE, FUNCTION, VIEW, TRIGGER & INDEX 1 Nội dung  1. Thủ tục (stored procedure)  2. Hàm (Function)  3. Khung nhìn (view)  4. Ràng buoc toàn vẹn (trigger)  5. Chỉ mục (index) 2 1. Stored procedure 3  Stored procedure trong CSDL tương tự như các thủ tục trong ngôn ngữ lập trình. Mọi stored procedure có thể: Nhận tham số đầu vào, thực thi các câu lệnh bên trong và trả vê các giá trị. Bên trong mỗi thủ tục có thể có nhiều câu lệnh và có thể gọi các thủ tục khác Trả về các thông báo cho biết thủ tục thực hiện thành công hay thất bại Các câu trúc điều khiển (IF, WHILE, FOR) có thể được sử dụng trong thủ tục 1. Stored procedure 4  Các lợi ích của stored procedure: Cho phép module hóa các công việc và thực thi các câu lệnh dễ dàng hơn 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 1. Stored procedure 5  Tạo thủ tục tên danh sách có tham số truyền vào là tên nhân viên. 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) AS SELECT MaNV, HoLot, TenNV, NgayVaoLam, Luong FROM NhanVien WHERE TenNV= @ten 1. Stored procedure 6  Thực thi thủ tục và truyền tham số cho thủ tục như sau: @tham_số=giá_trị  Thực thi: sp_danhsach 'Linh‘ hoặc exec sp_danhsach ‘Linh’ 1. Stored procedure 7  Người dùng có thể gán giá trị mặc định cho tham số trong câu lệnh create procedure CREATE PROC sp_danhsach1 @ten nvarchar(20)='Bình' AS SELECT * FROM NhanVien WHERE TenNV = @ten Thực thi: sp_danhsach1 ‘Duy’ 1. Stored procedure 8  Tạo thủ tục tăng lương nhân viên với tham số đầu vào là mức lương tăng và mã nhân viên  CREATE PROC asc_salary(@ascsalary int, @idemp int) AS BEGIN UPDATE NhanVien SET Luong=Luong+ @ascsalary WHERE MaNV=@idemp END Thực thi: asc_salary 100, 1 (chú ý thứ tự giá trị truyền vào theo đúng tham số) Hoặc thực thi: asc_salary (@ascsalary=100, @idemp=1) (Nếu thực thi câu lệnh tường minh có thể hoán đổi vị trí các tham sô) 1. Stored procedure 9 Tạo thủ tục tăng lương nhân viên với tham số đầu vào là mã nhân viên. Nếu lương nhân viên lớn hơn 1000$ thì tăng 150$, ngược lại tăng 100$ CREATE PROC asc_salary(@idemp int) AS DECLARE @salary INT BEGIN SELECT @salary=Luong FROM NhanVien WHERE MaNV=@idemp If @salary>1000 BEGIN UPDATE NhanVien SET Luong=Luong+150 WHERE MaNV=@idemp END Else BEGIN UPDATE NhanVien SET Luong=Luong+100 WHERE MaNV=@idemp END 1. Stored procedure 10 Tạo thủ tục tăng lương nhân viên lên 5 lần, mỗi lần tăng 50$ dùng câu lệnh While CREATE PROCEDURE asc_salary(@idemp int) AS DECLARE @count int BEGIN SET @count=1 WHILE @count<=5 BEGIN UPDATE NhanVien SET Luong=Luong+50 WHERE MaNV=@idemp SET @count=@count+1 END END [...]... sau: Create Procedure, Create View, Create Rule, Create Default, Create Trigger 23 1 Stored procedure Cần chỉ rõ tên chủ sở hữu đối tượng khi gọi đối tượng bên trong thủ tục CREATE PROC sp _index AS CREATE INDEX PhongBan_ind ON user1.PhongBan (TenPB) 24 1 Stored procedure Cú pháp sửa thủ tục: ALTER PROC proc_name … Cú pháp đổi tên thủ tục: SP_RENAME old_name, new_name SP_RENAME sp _index, sp _index_ user1... procedure Cú pháp sửa thủ tục: ALTER PROC proc_name … Cú pháp đổi tên thủ tục: SP_RENAME old_name, new_name SP_RENAME sp _index, sp _index_ user1 Cú pháp xóa thủ tục: DROP PROCEDURE proc_name DROP PROCEDURE sp _index_ user1 25 2 Function  2.1 Hàm Scalar  2.2 Hàm Inline table valued  2.3 Hàm Multi statement table valued 26 2.1 Hàm Scalar Hàm vô hướng trả về duy nhất một giá trị dựa trên tham số truyền vào Cú . Chương III. PROCEDURE, FUNCTION, VIEW, TRIGGER & INDEX 1 Nội dung  1. Thủ tục (stored procedure)  2. Hàm (Function)  3. Khung nhìn (view)  4. Ràng buoc toàn vẹn (trigger) . định cho tham số trong câu lệnh create procedure CREATE PROC sp_danhsach1 @ten nvarchar(20)='Bình' AS SELECT * FROM NhanVien WHERE TenNV = @ten Thực thi: sp_danhsach1 ‘Duy’ 1. Stored. Thực thi thủ tục và truyền tham số cho thủ tục như sau: @tham_số=giá_trị  Thực thi: sp_danhsach 'Linh‘ hoặc exec sp_danhsach ‘Linh’ 1. Stored procedure 7  Người dùng có thể gán giá trị mặc

Ngày đăng: 17/10/2014, 07:23

Từ khóa liên quan

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

Tài liệu liên quan