Giới Thiệu Về Trigger | SQLVIETNAM

Bài báo này tôi sẽ đề cập đến Trigger trong SQL.

1          Giới thiệu.

Chúng ta có thể hiểu một Trigger như sau: “Trigger” là một đối tượng trong Cơ sở dữ liệu giống như Stored Procedure(SP) hay có thể xem là một SP đặc biệt được kích họat khi xuất hiện một sự kiện trong Cơ sở dữ liệu.

  1. Sự khác nhau của SP và Trigger

Trigger được kích hoạt ngầm còn SP được kích họat một cách rõ ràng.

  1. Các loại Trigger

Có hai loại Trigger:  DDL(Data Definition Language), DML(Data Manipulation Language).

DDL Triggers.

Với lọai Trigger này được kích họat khi có thực hiện những lệnh sau: Create, Alter, và Drop. Như : Create_Table, Create_View, Drop_Table, Drop_View và Alter_Table.

Mã nguồn cho DDL Trigger:

Create Trigger Lichcongtac

on database

for

create_table, alter_table, drop_table

as

print    ‘Ban khong the Create, Drop va Alter bang trong CSDL’

rollback;

Kết quả xuất ra như sau:

Khi chúng ta tạo, sửa, xóa một bảng bất kỳ trong Cơ sở dữ liệu này thì xuất hiện thông báo.

DDl-trigers-in-sql

DML Trigger có hai loại.

AFTER Triggers

AFTER Triggers được thực thi sau khi hành động của câu lệnh INSERT, UPDATE, hoặc DELETE

Create Trigger Lichcongtac

on database

after insert

as

begin

insert into lichcongtac values(‘active’)

end

Kết quả xuất ra như sau:

aftertrigger-in-sql

INSTEAD OF Triggers

Trigger này sẽ báo cho bộ thực thi của Cơ sở dữ liệu thực hiện Trigger thay vì thực hiện câu lệnh. Ví dụ: Một Trigger Insert thực thi khi xuất hiện một sự kiện thay vì sử dụng câu lệnh insert giá trị vào bảng đó.

Create Trigger Lichcongtac

on v11

instead of insert

as

begin

insert into lichcongtac select I.status from inserted I

end

Khi chúng ta thêm dữ liệu vào View bởi câu lệnh truy vấn sau khi đó giá trị sẽ được đưa vào bảng.

insert into v11 values(‘1’)

Chúng ta có thể thấy câu lệnh trên được thực thi.

insert into lichcongtac select I.status from inserted I

Kết quả xuất ra

Status
1 1

Cuối bài:

Trong bài báo này tôi đã mô tả các Trigger trong một Cơ sở dưc liệu. Tôi hy vọng bào báo này đã giúp các bạn hiểu rõ về Trigger, nếu có thắc mắc hay chia sẻ gì các bạn post lên để mọi người tham khảo.

Chia sẻ:

  • X
  • Facebook
Thích Đang tải...

Có liên quan

Từ khóa » Các Loại Trigger Trong Sql