Sử dụng trigger (2)

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s