Thứ Tư, 26 tháng 7, 2023

Lệnh Drop Trigger trong MySQL

Trong bài viết này bạn sẽ được học cách sử dụng lệnh DROP TRIGGER trong MySQL, lệnh này dùng để xóa một trigger đã tạo nhưng không muốn sử dụng nữa.

Mục lục

  • 1. Cú pháp lệnh Drop Trigger
  • 2. Ví dụ xóa trigger với lệnh Drop Trigger

1. Cú pháp lệnh Drop Trigger

Lệnh Drop Trigger khá đơn giản, bạn chỉ việc sử dụng theo cú pháp sau:

1
DROP TRIGGER [IF EXISTS] [schema_name.]trigger_name;

Trong đó trigger_name chính là tên trigger mà bạn đã tạo. schema_name chính là schema mà trigger này thuộc về, mặc định nó là schema hiện tai mà bạn đang kết nối.

Lệnh IF EXISTS sẽ giúp việc xóa trigger được an toàn hơn, nghĩa là nó chỉ xóa chỉ khi nào trigger đó tồn tại. Nếu bạn không có dòng này thì sẽ xuất hiện lỗi trong trường hợp không có trigger nào tên là trigger_name.

Bài viết này được đăng tại MySQL

Bạn phải lưu ý rằng một khi đã xóa trigger thì nó sẽ mất vĩnh viễn, ko còn việc gọi tự động nào kể từ lúc đó về sau.

2. Ví dụ xóa trigger với lệnh Drop Trigger

Chúng ta sẽ làm một bài tập thực hành. Trước tiên hãy tạo một table có tên là billings với cấu trúc như lệnh SQL sau:

1
2
3
4
5
6
7
CREATE TABLE billings (
    billingNo INT AUTO_INCREMENT,
    customerNo INT,
    billingDate DATE,
    amount DEC(10 , 2 ),
    PRIMARY KEY (billingNo)
);

Tiếp theo tạo một trigger có tên là BEFORE UPDATE và gán vào table billings.

1
2
3
4
5
6
7
8
9
10
11
DELIMITER $$
CREATE TRIGGER before_billing_update
    BEFORE UPDATE
    ON billings FOR EACH ROW
BEGIN
    IF new.amount > old.amount * 10 THEN
        SIGNAL SQLSTATE '45000'
            SET MESSAGE_TEXT = 'New amount cannot be 10 times greater than the current amount.';
    END IF;
END$$   
DELIMITER ;

Nếu bạn không biết dòng DELIMITER là gì thì hãy đọc lại kiến thức Store Procedure.

Trigger sẽ được kích hoạt trước khi chạy lệnh update. Nội dung của nó là hiển thị lỗi nếu giá mới lớn hơn gấp 10 lần giá cũ.

Tiếp theo hãy dùng lệnh SHOW TRIGGERS; để xem tồn tại không nhé.

1
SHOW TRIGGERS;

MySQL DROP TRIGGER example png

Bây giờ hãy chạy lệnh Drop trigger xem thế nào nhé.

1
DROP TRIGGER before_billing_update

Chạy lại lệnh SHOW TRIGGERS; để xem có gì khác biệt không.

1
SHOW TRIGGERS;

Và kết quả là nó đã bị xóa ra khỏi database.

MySQL DROP TRIGGER example after removal png

Như vậy trong bài này mình đã hướng dẫn xong cách sử dụng lệnh DROP TRIGGER để xóa một trigger bất kì trong MySQL. Chúc bạn thực hiện thành công!

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master