Triggers

SQL Triggers
SQL Triggers

Trigger là một stored procedure đặc biệt, trigger thường được dùng để kiểm tra ràng buộc trên nhiều bảng dữ liệu hoặc nhiều dòng dữ liệu trên cùng 1 bảng.

Thao tác với trigger

Chúng ta sẽ bắt đầu tìm hiểu các cú pháp để tương tác với đối tượng trigger trong SQL Server.

Một chút ghi chú

Để dễ hiểu và dễ nhớ hơn về trigger, chúng ta cần lưu ý đến 1 vài thứ:

  • Trigger cũng có thể được xem là một stored procedure.
  • Procedure này sẽ tự thực thi vào 1 thời điểm thích hợp.

Tạo mới một trigger

Cú pháp tổng quát để tạo một trigger cơ bản như sau:

Xóa một trigger

Để xóa một trigger, chúng ta có thể sử dụng giao diện SSMS hoặc đơn giản hơn, chúng ta có thể sử dụng SQL với cú pháp:

Bài tập minh họa

Giả sử chúng ta cần tạo một CSDL “Trường học” với các yêu cầu sau:

  • CSDL bao gồm các bảng dữ liệu
    • Sinh_Vien (MSSV, Ho_ten, Gioi_tinh)
    • Giang_Vien(MSGV, Ho_ten, Gioi_tinh, Chuyen_mon)
    • Lop(ML, Mon_hoc, Nam_hoc, Hoc_ky, Si_so)
    • Dang_Ky(ML, MSSV)
  • Ngoài các RBTV cơ bản như Gioi_tinh phải là ‘Nam’ hoặc ‘Nữ’, Hoc_ky chỉ nhận 1 trong 3 giá trị là 1, 2 và 3….vv CSDL còn phải tuân theo các yêu cầu:
    • Để mở 1 lớp học, trường yêu cầu phải có tối thiểu 2 giảng viên có chuyên môn cùng với môn học.
    • Mỗi lớp học chỉ cho phép tối đa 30 sinh viên