Rumah >pangkalan data >SQL >Penggunaan dan sintaks pencetus sql
Pencetus ialah kod pangkalan data yang dilaksanakan secara automatik apabila peristiwa tertentu (masukkan, kemas kini, padam) berlaku. Sintaks pencetus termasuk nama pencetus, nama jadual, masa pencetus (SEBELUM/SELEPAS) dan jenis acara (MASUKKAN/KEMASKINI/DELETE). Jenis pencetus termasuk SEBELUM dan SELEPAS, dan jenis acara termasuk INSERT, UPDATE dan DELETE. Pencetus boleh digunakan untuk pengesahan integriti data, pengelogan audit, tugasan automatik dan logik perniagaan. Sebagai contoh, anda boleh mencipta pencetus untuk merekodkan masa sisipan apabila baris baharu dimasukkan untuk memastikan ketekalan data.
Penggunaan dan sintaks pencetus SQL
Apakah itu pencetus?
Pencetus ialah sekeping kod dalam pangkalan data yang secara automatik mencetuskan pelaksanaan apabila peristiwa tertentu dalam pangkalan data berlaku. Ia digunakan untuk melakukan tindakan tersuai apabila data berubah. Sintaks pencetus >SEBELUM code> Pencetus: Laksanakan sebelum acara berlaku.
Mengikut jenis acara, pencetus boleh dibahagikan kepada:
Senario penggunaan pencetus
Pencetus digunakan secara meluas dalam senario berikut:
BEFORE
触发器:在事件发生之前执行。AFTER
触发器:在事件发生之后执行。根据事件类型,触发器可分为:
INSERT
触发器:在插入新行时触发。UPDATE
触发器:在更新现有行时触发。DELETE
触发器:在删除行时触发。触发器的使用场景
触发器广泛用于以下场景:
示例
以下是一个示例触发器,用于在向 users
表中插入新行时记录插入时间:
<code>CREATE TRIGGER trigger_name ON table_name FOR INSERT | UPDATE | DELETE AS BEGIN -- 触发器代码... END;</code>
当插入新行到 users
表时,insert_timestamp
触发器会在插入之前执行,并自动将当前时间戳设置为新建行的 created_at
Pengesahan integriti data:
<code class="sql">CREATE TRIGGER insert_timestamp BEFORE INSERT ON users AS BEGIN SET NEW.created_at = CURRENT_TIMESTAMP(); END;</code>🎜Apabila baris baharu disisipkan Apabila pergi ke jadual
users
, pencetus insert_timestamp
dilaksanakan sebelum memasukkan dan secara automatik menetapkan cap masa semasa ke medan created_at
pada baris baharu . 🎜Atas ialah kandungan terperinci Penggunaan dan sintaks pencetus sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!