CREATE TRIGGER - Lệnh Tạo Trigger - SQL & Database
Có thể bạn quan tâm
CREATE TRIGGER – Lệnh tạo Trigger
Nội dung
- 1. Mô tả
- 1.1 Trigger là gì?
- 1.2 Tại sao phải sử dụng Trigger
- 1.3 Các hạn chế khi viết Trigger
- 1.4 DDL Trigger là gì?
- 1.4.1 DDL Trigger mức Database
- 1.4.2 DDL Trigger mức Server
- 1.5 DML Trigger là gì?
- 1.5.1 AFTER (FOR) Trigger
- 1.5.2 INSTEAD OF Trigger
- 1.5.3 Bảng ảo Inserted và Deleted
- 2. Cú pháp
- 2.1 DDL Trigger
- 2.2 DML Trigger
- 3. Ví dụ
- 3.1 DDL Trigger
- 3.2 DML Trigger
1. Mô tả
1.1 Trigger là gì?
- Lệnh CREATE TRIGGER dùng để tạo Trigger trong CSDL.
- Trigger là một thủ tục nội tại (Stored Procedure) đặc biệt, được thực thi tự động mỗi khi có một câu lệnh INSERT/ UPDATE/ DELETE làm thay đổi dữ liệu trên bảng.– Phải được liên kết với một bảng/ bảng ảo.– Không thể gọi mà được thực hiện tự động.– Không có tham số.
- Lệnh cập nhật dữ liệu trên bảng > xảy ra biến cố (event) > Trigger sẽ được tự động gọi thực hiện.
1.2 Tại sao phải sử dụng Trigger
- Để kiểm tra các ràng buộc dữ liệu phức tạp.
- Tính toán và tự động cập nhật giá trị.
1.3 Các hạn chế khi viết Trigger
- Không được tạo bảng tạm.
- Không được tham chiếu đến bảng tạm hoặc bảng hệ thống.
- Không tạo/ sửa/ xoá cấu trúc các đối tượng sẵn có trong CSDL: CREATE/ ALTER/ DROP.
- Không gán/ cấp quyền cho người dùng: GRANT/ REVOKE.
1.4 DDL Trigger là gì?
- Là Trigger xảy ra với các biến cố của Database hoặc Server.
Có hai loại:
1.4.1 DDL Trigger mức Database
- Lệnh CREATE , ALTER , DROP… Được lưu trong CSDL đã tạo ra nó. Ví dụ: tạo DDL Trigger trên Database để mỗi khi người dùng tạo bảng/ sửa bảng/ xóa bảng thì ghi nhận lại thông tin của các thay đổi này.
1.4.2 DDL Trigger mức Server
- Lệnh CREATE USER, CREATE LOGIN… Được lưu trong CSDL master. Ví dụ: tạo DDL Trigger trên Server để không cho người dùng tạo Login.
1.5 DML Trigger là gì?
- Trigger xảy ra với các hành động INSERT/ UPDATE/ DELETE trên bảng.
- Dùng để kiểm tra các ràng buộc toàn vẹn phức tạp.
- Dùng để xử lý tính toán và cập nhật tự động.
Có hai loại:
1.5.1 AFTER (FOR) Trigger
- Dùng cho việc cập nhật bảng.
- Chạy sau các hành động kiểm tra dữ liệu của các Constraint.
- Dữ liệu đã bị tạm thời thay đổi trong bảng.
- Chỉ áp dụng cho bảng.
1.5.2 INSTEAD OF Trigger
- Dùng cho việc cập nhật bảng hoặc bảng ảo.
- Chạy trước các hành động kiểm tra dữ liệu.
- Dữ liệu chưa bị thay đổi.
- Có thể thay thế hành động cập nhật dữ liệu bằng các hành động khác.
- Có thể áp dụng cho bảng hoặc bảng ảo.
- Thường dùng cho việc cập nhật bảng ảo.
1.5.3 Bảng ảo Inserted và Deleted
- Bảng Inserted:– Chứa dữ liệu được thêm mới trong hành động INSERT/ UPDATE.– Chỉ có tại thời điểm xảy ra Trigger.– Cấu trúc bảng giống với bảng của Trigger.
- Bảng Deleted:– Chứa dữ liệu bị xoá trong hành động DELETE/ UPDATE.– Chỉ có tại thời điểm xảy ra Trigger.– Cấu trúc bảng giống với bảng của Trigger.
- Bảng Inserted sử dụng cho lệnh INSERT
- Bảng Deleted sử dụng cho lệnh DELETE
- Bảng Inserted + Deleted sử dụng cho lệnh UPDATE– Bảng Inserted chứa các dữ liệu mới (đã được cập nhật).– Bảng Deleted chứa các dữ liệu cũ (trước khi cập nhật).– UPDATE = INSERT mới + DELETE cũ.
2. Cú pháp
- Xem danh sách các loại biến cố (sự kiện)
2.1 DDL Trigger
- DDL Trigger mức Database
- DDL Trigger mức Server
2.2 DML Trigger
- AFTER (FOR) Trigger
- INSTEAD OF Trigger
3. Ví dụ
3.1 DDL Trigger
- DDL Trigger mức Database
- DDL Trigger mức Server
3.2 DML Trigger
- AFTER (FOR) Trigger
- INSTEAD OF Trigger
Xem thêm: lệnh sửa Trigger ALTER TRIGGER, lệnh xóa Trigger DROP TRIGGER.
Tags: CREATECREATE TRIGGERTRIGGER
- Next story ALTER TRIGGER – Lệnh sửa Trigger
- Previous story DROP FUNCTION – Lệnh xóa hàm
You may also like...
- 0
CREATE TABLE # – Lệnh tạo bảng tạm
16/05/2020
- 0
CREATE VIEW – Lệnh tạo bảng ảo
11/04/2020
- 0
CREATE PROC – Lệnh tạo Stored Procedure
25/05/2020
Để lại một bình luận Hủy
Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Bình luận *
Tên *
Email *
Trang web
Lưu tên của tôi, email, và trang web trong trình duyệt này cho lần bình luận kế tiếp của tôi.
Từ khóa » Hai Bản Nào được Phép Dùng Trong Update Trigger
-
Sử Dụng Trigger Trong SQL Qua Ví Dụ Cơ Bản. - Viblo
-
Trigger Trong SQL Server: Hướng Dẫn Từ A-Z Về Trigger | Comdy
-
Trigger Trong SQL Là Gì? Ví Dụ Cụ Thể Về Trigger - Vietnix
-
Sử Dụng Trigger Trong SQL Qua Ví Dụ Cơ Bản. - TMA Solutions
-
Tìm Hiểu Về Trigger Trong SQL Server - Tin Học 88
-
TRIGGER Trong SQL | TopDev
-
Trigger Trong SQL Là Gì? Hướng Dẫn Sử Dụng Trigger Trong SQL
-
Trigger Trong Sql - Nhân Hòa
-
Trigger Trong SQL Là Gì? Cách Tạo & Xóa Trigger Trong SQL
-
Bài 7: Trigger Và View Trong SQL Server | Tìm ở đây
-
Trigger Trong SQL Server: Hướng Dẫn Từ A-Z Về Trigger - DongnaiArt
-
Tìm Hiểu INSTEAD OF Trigger Trong SQL Server - Vi
-
Sử Dụng Triggers Trong SQL Server - Chiasethongtin.COM
-
Trắc Nghiệm SQL Server - Bài 16