Trigger trong sql server 2014 sẽ cho các bạn biết trigger là gì? Trigger được sử dụng trong những trường hợp nào?
Trigger là một stored procedure không có tham số. Trigger thực thi một cách tự động khi một trong ba câu lệnh Insert, Update, Delete làm thay đổi dữ liệu trên bảng có chứa trigger.
Đang xem: Bài tập trigger có lời giải
Trigger trong sql server 2014 – Khi nào sử dụng trigger
Trigger thường được sử dụng để kiểm tra ràng buộc (check constraints) trên nhiều quan hệ (nhiều bảng/table) hoặc trên nhiều dòng (nhiều record) của bảng.
Ví dụ một chi tiết hoá đơn không được nhiều hơn 10 hoá đơn (tức là trong bảng CTHD không được vượt quá 10 SoHD)
Trigger trong sql server 2014 – Tạo trigger
Cú pháp tạo trigger trong sql server
CREATE TRIGGER tên_trigger ON tên_bảngFOR DELETE, INSERT, UPDATEAS câu_lệnh_sqlBên dưới là một vài lưu ý
Khi trigger được thực hiện, SQL tự động tạo ra 2 bảng tạm với cùng cấu trúc với bảng chứa trigger.
INSERTED chứa dữ liệu mới khi chúng ta thực thi câu lệnh Insert hoặc câu lệnh Update.
DELETED chứa những bản ghi bị xoá khi chúng ta thực thi câu lệnh Delete hoặc chứa dữ liệu cũ khi chúng ta thực thi câu lệnh Update.
Trigger trong sql server 2014 – Khi thêm dữ liệu
Tình huống: Kiểm tra ràng buộc một CTHD không chứa nhiều hơn 10 SoHD. Trong hình, chúng tôi đang chọn SoHD là 10249. Hiện tại trong bảng CTHD trước khi thêm đang có 2. Dòng màu vàng là dữ liệu chúng ta muốn thêm vào.
Câu lệnh tạo trigger trong sql server
Create Trigger tr_SoCTHD On CTHD For InsertAs If (Select Count(a.SoHD) From CTHD a Inner Join INSERTED b On a.SoHD = b.SoHD) > 10 Begin Print “So CTHD Khong the > 10” RollBack Tran EndInner Join là phép kết giữa 2 bảng. Lệnh Print dùng để hiển thị thông báo đến người dùng. Lệnh RollBack Tran dùng để ngăn chặn xử lý thêm mới dữ liệu.
Trigger trong sql server 2014 – Khi xoá dữ liệu
Tình huống: Khi xoá một dòng trong bảng CTHD, chúng ta phải tăng số lượng của bảng MATHANG
Câu lệnh tạo trigger trong sql server
Create Trigger tr_XoaCTHD On CTHDFor DeleteAs Update MATHANG Set SoTon = SoTon + SL From DELETED Where friend.com.vn = friend.com.vn
Trigger trong sql server 2014 – Khi cập nhật dữ liệu
Tình huống: Khi thay đổi cột SL trên bảng CTHD, chúng ta phải cập nhật lại dữ liệu cho cột SoTon trong bảng MATHANG
Câu lệnh tạo trigger
Create Trigger tr_SuaCTHD On CTHDFor Update AsDeclare D = Count(*)From MatHang a, DELETED b, INSERTED cWhere a.MaMH = b.MaMH And a.MaMH = c.MaMH And SoTon + b.SL – c.SL If (D > 0 ) Begin Print “Không đủ hàng để bán” RollBack Tran Return End-Cập nhật số lượng tồn trong bảng MATHANGUpdate MatHang Set SoTon = SoTon + b.SL – c.SLFrom MatHang a, DELETED b, INSERTED cWhere a.MaMH = b.MaMH And a.MaMH = c.MaMH
Trigger trong sql server 2014 – Bài tập thực hành
Sử dụng cơ sở dữ liệu QuanLyBanHang
Tao các trigger theo yêu cầu bên dưới
Câu 1.
Xem thêm: chi phí thẩm định đồ án quy hoạch
Tạo trigger khi update hoặc insert dữ liệu của bảng TONKHO, cột SLCuoi được tính theo công thức SLCuoi = SLDau + TongSLN – TongSLX
Câu 2. Tạo trigger khi update cột SLNhap của bảng CTPNHAP thì cột TongSLN của bảng TONKHO được cập nhật theo.
Câu 3. Tạo trigger khi update cột SLXuat của bảng CTPXUAT thì cột TongSLX của bảng TONKHO được cập nhật theo.
Câu 4. Tạo trigger khi update hoặc insert cột SLNhap của bảng CTPNHAP thì tổng số lượng nhập Câu 5.
Xem thêm: Cách Tải Phim Từ Bilutv Về Máy Tính Mới Nhất 2020, Cách Tải Phim Trên Bilutv Về Iphone, Ipad
Tạo trigger khi delete một CTPNHAP thì cột TongSLN của bảng TONKHO được cập nhật tương ứng.
- Share CrocoBlock key trọn đời Download Crocoblock Free
- Cung cấp tài khoản nghe nhạc đỉnh cao Tidal Hifi – chất lượng âm thanh Master cho anh em mê nhạc.
- Tham Khảo Kho 50+ Đề Tài Tiểu Luận Triết Học Cao Học Hay Nhất
- Top 3 cách khắc phục màn hình điện thoại bị vỡ bạn nên biết
- Top 10 App Đào Coin Trên Điện Thoại Miễn Phí Mới Nhất 2022 – friend.com.vn
- Đàn ông nghĩ gì về phụ nữ ngoại tình: vợ + nhân tình?
- Hướng dẫn sử dụng corel x7