Trigger là thuật ngữ hay được thực hiện trong SQL. Chính vì vậy những ai đang xuất hiện ý định học tập về ngôn ngữ truy vấn tài liệu thì đừng vứt qua những kiến thức Trigger vào SQL của bài chia sẻ sau phía trên nhé!


Trigger trong SQL là gì?

Trigger là giấy tờ thủ tục SQL được thực hiện ở phía sever khi có bất kỳ sự khiếu nại nào xẩy ra như Insert, Update giỏi Delete. Bên cạnh ra, Trigger còn được hiểu là 1 stored procedure dạng đặc biệt quan trọng (vì nó không có tham số) được thực thi tự động ngay khi có sự khiếu nại làm dữ liệu bị thay đổi. Hệ thống DB là chỗ lưu trữ, quản lý Trigger, với được thực hiện khi người dùng muốn khám nghiệm sự ràng buộc toàn vẹn của DB.

Bạn đang xem: Ví dụ về trigger trong sql

Ba điểm lưu ý tạo đề nghị sự khác biệt giữa Trigger cùng stored procedures:

Trigger được tiến hành tự động. Trigger ko có thời cơ nhận thông số. Người dùng không thể cam kết, tuyệt khôi phục bất kỳ transaction như thế nào trong Trigger. 

Tuy nhiên, vấn đề không sử dụng tham số bên trên Trigger không là một hạn chế của quy trình nhận thông tin sự kiện, và người tiêu dùng hoàn toàn có không ít lựa chọn khác ship hàng cho vận động lấy thông tin từ sự kiện.

*

Trường hợp sử dụng Trigger vào SQL Server 

Trigger trong SQL được sử dụng trong những trường hòa hợp sau:

kiểm soát tính ràng buộc của nhiều quan hệ giữa các bảng hoặc những dòng của bảng. Chống chặn làm việc xóa những dữ liệu quan liêu trọng. Tận dụng tối đa Trigger để sở hữu các hàm chạy ngầm, phục vụ cho một trong những trường hợp cụ thể của bạn dùng.

Cú pháp tạo thành Trigger vào SQL cơ bản

Dưới đây là đoạn code tạo nên Trigger cơ bản: 

CREATE TRIGGER tên_trigger

ON Tên_bảng

< WITH >

FOR

, ,

Cấu tạo Trigger vào SQL Server

Trigger trong SQL bao gồm 2 lớp, gồm:

DDL (Data Definition Language) Trigger: Là lớp có chức năng kích hoạt khi cấu tạo sự khiếu nại bị biến hóa (như tạo nên mới, chỉnh sửa, vứt bỏ bảng), hoặc sự kiện liên quan đến máy chủ (cập nhật thống kê, chuyển đổi bảo mật). DML (Data Modification Language) Trigger: các loại này được dùng nhiều nhất. Đối với DML Trigger, sự khiếu nại kích hoạt chỉ với câu lệnh sửa đổi tài liệu (chèn, cập nhật, xóa) trên bảng.

Bên cạnh đó, DML Trigger cũng có một số các loại khác như: 

- FOR, AFTER : hầu hết Trigger này sẽ được thực thi khi hoàn thành câu lệnh kích hoạt. 

INSTEAD OF : ngược lại với Trigger FOR (AFTER), Trigger này được thực hiện để triển khai lệnh kích hoạt. Điều này có nghĩa, nó được dùng thay cho câu lệnh kích hoạt. Nhiều loại Trigger này rất là quan trọng cùng hữu ích. Bởi nó giúp tín đồ dùng có thể tham chiếu chéo cánh toàn vẹn đến các dữ liệu. 
*

Vai trò của Trigger vào SQL hệ thống là gì?

Mối tình dục của tài liệu (relational databases) có điểm sáng cơ bản là tính nhất quán. Điều này được gọi là toàn bộ thông tin tàng trữ trong database phải đồng điệu với những session, transaction. Vì thế, để triển khai tính đồng điệu này, SQL vps phải xúc tiến sự buộc ràng giữa các primary key và foreign key.

Ngoài ra, vào SQL Server, lúc 2 bảng nằm trong 2 database hoặc sản phẩm chủ không giống nhau thì việc xúc tiến tính toàn vẹn tham chiếu giữa chúng bằng foreign key sẽ không còn thể tiến hành được. Bởi vì đó, so với tình huống này chỉ có giải pháp duy tuyệt nhất là dùng Trigger trong SQL Server

Ưu điểm của Trigger trong SQL

tiện lợi viết code. Do về bạn dạng chất, bọn chúng đã được mã hóa như stored procedure. Nhờ vào thế, vượt trình bắt đầu làm bài toán với Trigger trở bắt buộc thuận lợi, tiện lợi và lập cập hơn.  chất nhận được người dùng có thể tạo audit cơ phiên bản thông qua việc áp dụng bảng tài liệu đã xóa trong Trigger. Bằng cách tận dụng bảng này chèn vào bảng kiểm tra, bạn sẽ dễ dàng xây dựng phương án đánh giá phù hợp. Cung cấp người cần sử dụng gọi những store procedure, hàm lưu trữ trong một Trigger. Tạo Trigger vào SQL Server trở phải hữu ích khi người dùng xác thực những dữ liệu cấp dưỡng hoặc update theo batch. Được thực hiện để thực hiện tính toàn diện tham chiếu dữ liệu. Vào trường hợp những sự kiện xảy ra khi gồm sự điều chỉnh dữ liệu như thêm vào, update hoặc xóa thì phương châm của Trigger rất hữu ích. Trải qua CLR Trigger, người dùng được phép làm cho Trigger bằng cách tận dụng code bên ngoài. Đây là loại Trigger chỉ định phương thức hợp ngữ viết bằng .NET links với Trigger. Tất cả tới 32 cấp độ lồng vào nhau của những Trigger. Vào đó, một Trigger được xem như là lồng vào nhau lúc thực hiện hành vi kích hoạt Trigger khác. áp dụng Trigger để sửa chữa thay thế các các bước hẹn giờ đồng hồ theo lịch.

Nhược điểm của Trigger trong SQL

Trigger nhập vai trò là 1 phần của quá trình kiểm tra tính thích hợp lệ dữ liệu. Nó không sửa chữa cho toàn bộ chuyển động này.  Chỉ chuyển động ngầm vào cơ sở tài liệu và ko hiển thị ở giao diện buộc phải khó chỉ ra các vấn đề xảy ra ở tầng cơ sở dữ liệu. Hoạt động vui chơi của Trigger là cập nhật lên bảng tài liệu nên có tác dụng tăng khối lượng các bước cho cơ sở dữ liệu. Vị thế, hệ thống sẽ quản lý chậm hơn.
*

Bài tập về Trigger trong SQL

Để đọc hơn về Trigger, bạn cũng có thể tham khảo lấy ví dụ như sau:

Giả sử, các bạn có bảng employees như hình minh họa bên dưới.

*

Bây giờ, chúng ta tạo một Trigger có chức năng lưu giữ kế hoạch sử update của từng nhân viên. Để thực hiện, chúng ta làm theo công việc hướng dẫn sau:

Bước 1: bạn cần tạo một bảng employee mới, đánh tên là employee_edit bởi lệnh như sau.

CREATE TABLE employees_audit (

id INT AUTO_INCREMENT PRIMARY KEY,

employeeNumber INT NOT NULL,

lastname VARCHAR(50) NOT NULL,

changedat DATETIME default NULL,

action VARCHAR(50) default NULL

);

Bước 2: các bạn viết Trigger thực hiện tác dụng lưu trữ các biến hóa của employees. Câu lệnh từ bây giờ là:

DELIMITER $$

CREATE TRIGGER before_employee_update 

BEFORE UPDATE ON employees

FOR EACH ROW 

BEGIN

INSERT INTO employees_edit

SET action = "update",

employeeNumber = OLD.employeeNumber,

lastname = OLD.lastname,

changedat = NOW(); 

END$$

DELIMITER ;

Trong thân câu lệnh trên, chúng ta dùng từ khóa OLD để có thể truy cập tin tức dữ liệu của hàng trong cột employeeNumber và lastname bị Trigger gây hình ảnh hưởng. 

Lưu ý: 

vào trường hợp tạo thành Trigger mang đến thêm dữ liệu (Insert), bạn áp dụng từ khóa NEW. Đối với trường hợp tạo ra Trigger nhằm xóa dữ liệu, bạn sử dụng từ khóa OLD. Đối với Trigger đến việc cập nhật dữ liệu thì bạn áp dụng từ khóa OLD cho hàng trước lúc cập nhật, trường đoản cú khóa NEW mang đến hàng sau thời điểm cập nhật.  Để xem cục bộ Trigger trong các đại lý dữ liệu, bạn dùng hàm SHOW TRIGGERS;

Bước 3: thực hiện cập nhập bảng employees với cú pháp câu lệnh sau.

UPDATE employees 

SET 

lastName = "Phan"

WHERE

employeeNumber = 1056;

Nếu mong mỏi kiểm tra TRIGGER được triển khai chưa, bạn áp dụng câu lệnh dưới để truy hỏi vấn trong bảng employees_edit:

SELECT * FROM employees_edit;

Lúc này, tác dụng truy vấn trả về như hình sau:

*

Như vậy, Trigger đã có được thực hiện, đồng thời nó đã thực hiện chèn một bảng ghi mới trong bảng employees_edit.

Xóa Trigger vào SQL

Cú pháp DROP TRIGGER là câu lệnh xóa Trigger vào SQL khỏi cửa hàng dữ liệu. Đối cùng với Trigger DML, câu lệnh bao gồm dạng minh họa như sau: 

DROP TRIGGER < IF EXISTS > trigger_name < ,...n >;

Trong đó:

IF EXISTS: Là xóa Trigger sẽ tồn tại. Schema_name: thương hiệu của lượt đồ bao gồm chứa Trigger DML. Trigger_name: thương hiệu của Trigger đề xuất xóa.

Khi ước ao xóa nhiều Trigger thuộc lúc, bạn thực hiện dấu “,” để phân bóc tách Trigger. 

Đối với Trigger DDL, để xóa một hay nhiều Trigger, bạn dùng câu lệnh DROP TRIGGER sau:

DROP TRIGGER < IF EXISTS > trigger_name < ,...n >

ON DATABASE ;

Trong đó:

DATABASE: Là phạm vi trigger DDL trong cơ sở dữ liệu. ALL SERVER: Là phạm vi vận dụng của Trigger DDL đến máy chủ.

Đối cùng với xóa Trigger của việc kiện LOGON, các bạn dùng câu lệnh bên dưới: 

DROP TRIGGER < IF EXISTS > trigger_name < ,...n >

ON ALL SERVER;

Lưu ý: 

Khi các bạn xóa bất cam kết bảng nào thì toàn cục Trigger trong SQL có liên kết với bảng sẽ tự động hóa xóa theo. 

*

Nhà cung cấp Tên Miền - Hosting - VPS cực tốt Việt Nam

Là đơn vị chức năng thuộc top 3 nghành nghề dịch vụ dịch vụ lưu trữ website trên Việt Nam, Hosting Việt được reviews là công ty cung cấp tên miền giá rẻ và hosting giá bán rẻ cũng như luôn nhận được nhiều lời ra mắt từ diễn lũ tin học về nơi cài đặt host sống đâu xuất sắc . Chỉ từ 50.000đ/tháng, người dùng đã gồm ngay cho chính mình một host để thỏa sức học tập tập, nghiên cứu hoặc chạy test website… ở kề bên đó, Hosting Việt còn là một đơn vị luôn luôn tiên phong trong technology điện toán đám mây (cloud hosting),gói thuê server với băng thông khủng không giới hạn.

Xem thêm: Cách Đặt Tên Shop Quần Áo Nữ, 101+ Gợi Ý Đặt Tên Shop Quần Áo Hay

Hosting Việt có phong phú và đa dạng gói dịch vụ, ở kề bên những gói giá siêu rẻ 50.000đ/tháng, nhà cung cấp còn tồn tại những vps giá chỉ rẻ chất lượng giành cho nhiều nhóm doanh nghiệp lớn khác nhau. Các gói này luôn đáp ứng một cách đầy đủ nhu ước lưu trữ, truy cập hàng chục nghìn người mỗi ngày.Ngoài ra, với dịch vụ chăm lo khách hàng chuyên nghiệp, đội ngũ kỹ thuật viên có trình độ chuyên môn cao sẽ hối hả hỗ trợ, xử lý những vấn đề phân phát sinh. Từ bỏ đó, giúp người dùng có được sự trải nghiệp mượt mà, thú vị.Như vậy, qua bài viết trên Hosting Việt đã giúp cho bạn có thêm nhiều tin tức bổ ích! Hi vọng bạn sẽ có thể đồ vật thêm thiệt nhiều kỹ năng và kiến thức khác mà công ty chúng tôi đã chia sẻ! trường hợp thấy nội dung bài viết này có lợi hãy subscribe để theo dõi phần đông thông tin mới nhất từ Hosting Việt nhé. Chúc các bạn thành công!