Bài trước chúng ta đã đề cập về cú pháp và cách sử dụng Trigger, bài này ứng dụng trigger vào vấn đề tự động hóa một số tác vụ của hệ thống.
Nếu bạn chưa biết cú pháp sử dụng trigger, tham khảo bài viết này trước khi đọc tiếp bài viết này Trigger và cách sử dụng
Bài toán thực tế đặt ra như sau:
Hệ thống quản lý thư viện có các bảng trong đó có bảng Sách để quản lý số sách có trong thư viện, cấu trúc của bảng sách gồm các trường
Sach |
ID (Char(10)) |
Tieude |
Tacgia |
Tomtat |
Soluong |
Bảng mượn trả để theo dõi thành viên mượn và trả sách, cấu trúc các trường của bảng MuonTra
MuonTra |
Id |
ThanhVienID |
SachId |
NgayMuon |
NgayTra |
Nghiệp vụ bài toán được cho là, khi một người mượn sách, một bản ghi được thêm vào bảng mượn trả và số sách giảm 1 cuốn. Khi trả sách, số lượng của cuốn sách đó tăng thêm 1 và khi trả sách, thủ thư chỉ cần cập nhật trường ngày trả của hàng tương ứng với việc mượn trả sách
Bây giờ chúng ta cài đặt trigger để tự động hóa việc tăng hoặc giảm số lượng khi cho mượn hoặc nhận lại sách
Trigger 1 – Giảm số lượng sách khi cho mượn
Create trigger InsTrigger on MuonTra
FOR INSERT
As
Declare @bookCode char(10)
select @bookCode = Id from inserted
update Sach set Soluong = Soluong – 1 where Id = @bookCode
Trigger 2- tăng số lượng sách khi nhận lại sách
Create trigger UpdTrigger on MuonTra
FOR Update
As
Declare @bookcode char(10)
select @bookcode = Id from inserted
update Sach set Soluong = Soluong + 1 where Id = @bookcode