Home / Sql Server / Trigger loại FOR

Trigger loại FOR

  • Trình bày các khái niệm về trigger
  • Giới thiệu các thao tác đối với trigger (thêm mới, xóa, chỉnh sửa nội dung)
  • Giới thiệu một số vấn đề trong quá trình xây dựng trigger để kiểm tra ràng buộc dữ liệu
  • Giới thiệu một số vấn đề trong quá trình xây dựng trigger để cập nhật tự động giá trị

Xây dựng trigger khi thêm mới dữ liệu vào bảng PNHAP với tên tg_PNHAP_Them. Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ

Số đặt hàng phải có trong bảng DONDH
Ngày nhập hàng phải sau ngày đặt hàng

Xây dựng trigger khi thêm mới dữ liệu vào bảng CTPNHAP với tên tg_CTPNHAP_Them. Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ

Mã vật tư phải có trong bảng CTDONDH ứng với số đặt hàng của phiếu nhập
Số lượng nhập hàng <= (Số lượng đặt – Tổng số lượng đã nhập vào trước đó)

Xây dựng trigger khi sửa dữ liệu trong bảng PNHAP với tên tg_ PNHAP_Sua. Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ

Không cho phép sửa đổi giá trị của các cột: số nhập hàng, số đặt hàng
Kiểm tra giá trị mới của cột ngày nhập hàng phải sau ngày đặt hàng

Xây dựng trigger khi sửa dữ liệu trong bảng PXUAT với tên tg_PXUAT_Sua. Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ

Không cho phép sửa đổi giá trị của cột số phiếu xuất
Kiểm tra giá trị mới của ngày xuất phải cùng năm tháng với giá trị cũ của ngày xuất. Nếu khác nhau thì thông báo lỗi và không cho sửa đổi

Xây dựng trigger khi xóa dữ liệu trong bảng DONDH với tên tg_ DONDH_Xoa. Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ

Không có chi tiết đặt hàng của số đặt hàng trong bảng CTDONDH
Không có phiếu nhập theo số đặt hàng sẽ xóa

Xây dựng trigger khi xóa dữ liệu trong bảng CTDONDH với tên tg_ CTDONDH_Xoa. Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ

Không có phiếu nhập theo số đặt hàng sẽ xóa

Sửa trigger tg_ CTDONDH_Xoa. Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ

Không có phiếu nhập và mã vật tư nhập ứng với số đặt hàng và mã vật tư đặt sẽ xóa


Trong bảng PNHAP tạo thêm cột trị giá có tên TG với kiểu Float dùng để lưu tổng trị giá của một phiếu nhập hàng. Trong trigger tg_CTPNHAP_Them đã xây dựng trước đó. Bổ sung thêm các tính toán tự động sau:

Tăng giá trị tại cột TG trong bảng PNHAP khi dữ liệu trong bảng CTPNHAP được thêm vào
Tăng giá trị tại cột TONGSLN trong bảng TONKHO khi dữ liệu trong bảng CTPNHAP được thêm vào

Xây dựng trigger khi xóa dữ liệu trong bảng CTPNHAP với tên tg_CTPNHAP_Xoa. Trong đó cần thực hiện các tính toán như sau:

Giảm giá trị tại cột TG trong bảng PNHAP
Giảm giá trị tại cột TONGSLN trong bảng TONKHO

Trong trigger tg_CTPNHAP_Sua đã xây dựng trước đó. Bổ sung thêm các tính toán tự động sau:

Hiệu chỉnh giá trị tại cột TG trong bảng PNHAP khi dữ liệu trong bảng CTPNHAP được sửa
Hiệu chỉnh giá trị tại cột TONGSLN trong bảng TONKHO khi dữ liệu trong bảng CTPNHAP được sửa

 

Leave a Reply

Your email address will not be published. Required fields are marked *