Trigger-Phần thực hành – VOER

Cascade Delete sử dụng Nested trigger.

Trong Nested trigger, một trigger có thể được thực hiện lồng trong trigger khác. Chúng ta có thể lồng trigger tối đa 32 mức. Nested trigger cho phép cascade update và cascade delete.

Thực hiện câu lệnh để kích hoạt Nested trigger:

sp_configure ‘nested trigger’, 1

Ngược lại:

sp_configure ‘nested trigger’, 0

Tạo Cascade delete trigger để thực hiện công việc sau: Nếu xoá một chuyến bay trong bảng Flight, thì tất cả các thông tin liên quan trong bảng Flight_Details sẽ bị xoá.

  • 1.Thực hiện như sau trong QA:
  • CREATE TRIGGER Casc_del 

    ON Flight

    FOR DELETE

    AS

    DELETE Flight_details FROM Flight_details,
    DELETED
        WHERE Flight_details.aircraft_code=DELETED.aircraft_code
        
  • 2.Tạo Delete Trigger khác trên bảng Flight. Trigger này sẽ thực hiện khi trigger Casc_del thực hiện.
  • CREATE TRIGGER del_aircraftcode

    ON Flight_details

    FOR DELETE

    AS

    SELECT * FROM Flight

    SELECT * FROM Flight_Details
  • 3.Thực hiện câu lệnh sau:
  • DELETE FROM Flight

    WHERE aircraft_code= ‘9W01’