Tham khảo tài liệu 'nhập môn db2 express – c part 9', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Nhập môn Hệ quản trị cơ sở dữ liệu DB2 168 if no value Hình - Ví dụ về bẫy trước Trong hình bẫy defalt_class_end sẽ bẫy trước lệnh khi INSERT SQL được thực hiện trong bảng cl_sched. Bảng này là một phần của cơ sơ dữ liệu SAMPLE ban có thể tạo và thử kiểm tra bẫy này khi kết nối với cơ sơ dữ liệu này. Biến n trong định nghĩa của bẫy sẽ đại diện cho giá trị mới của lệnh INSERT giá trị sẽ chèn vào. Bẫy này sẽ kiểm tra sự hợp lệ của các giá trị chèn vào. Nếu cột ending không có giá trị gì khi chèn thì bẫy này sẽ đảm bảo chắc chắn là có giá trị của cột starting cộng 1 được chèn vào. Các lệnh sau giúp ta kiểm tra bẫy này C Program Files IBM SQLLIB BIN db2 insert into cl_sched class_code day starting values abc 1 current time DB20000I The SQL command completed successfully. C Program Files IBM SQLLIB BIN db2 select from cl_sched CLASS_CODE DAY STARTING ENDING 042 BF 4 12 10 00 14 00 00 553 MJA 1 10 30 00 11 00 00 543 CWM 3 09 10 00 10 30 00 778 RES 2 12 10 00 14 00 00 044 HD 3 17 12 30 18 00 00 abc 1 11 06 53 12 06 53 6 record s selected. Thủ tục bẫy validate_sched dưới đây cho phép mơ rộng hàm bẫy default_class_end đã mô tả trước đây. Xin nhắc lại rằng bạn có thể tạo ra nó và kiểm tra nó dựa vào cơ sơ dữ liệu SAMPLE. CREATE TRIGGER validate_sched NO CASCADE BEFORE INSERT ON cl_sched REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL BEGIN ATOMIC -- supply default value for ending time if null Nhập môn Hệ quản trị cơ sở dữ liệu DB2 169 IF IS NULL THEN SET 1 HOUR END IF ensure that class does not end beyond 9pm IF 21 00 THEN SIGNAL SqLSTATE 80000 SET MESSAGE_TEXT class ending time is beyond 9pm ELSEIF 1 or 7 THEN SIGNAL SQLSTATE 80001 SET MESSAGE_TEXT class cannot be scheduled on a weekend END IF END Bay sau Bay sau được kích hoạt sau khi các SQL triggering thực hiện thành công. Các thao tác trong bẫy này có thể kích hoạt các bẫy khác sự nối tầng được cho phép đến 16 mức . Bay sau hổ trợ các thao tác INSERT UPDaTe và .