CREATE TRIGGER是用来创建触发器的SQL命令。
触发器是一种特殊的数据库对象,它可以在特定的数据库事件发生时自动执行一系列的SQL语句。触发器可以用于实现数据的自动更新、数据一致性的检查和维护、日志记录等功能。
CREATE TRIGGER的语法如下:
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE}
ON table_name
FOR EACH ROW
BEGIN
– 触发器执行的SQL语句
END;
其中,
trigger_name:触发器的名称。
BEFORE/AFTER:指定触发器是在触发事件之前还是之后执行。
INSERT/UPDATE/DELETE:指定触发器是在插入、更新还是删除数据时触发。
table_name:触发器所属的表名。
FOR EACH ROW:指定触发器是针对每个被影响的行触发,也就是说,当插入、更新或删除一行数据时,触发器会对该行数据进行处理。
触发器执行的SQL语句写在BEGIN和END之间,可以包含任意的SQL语句,如INSERT、UPDATE、DELETE、SELECT等。
以下是一个创建触发器的例子:
CREATE TRIGGER update_salary
AFTER UPDATE
ON employees
FOR EACH ROW
BEGIN
IF NEW.salary > 10000 THEN
INSERT INTO salary_history (employee_id, salary, updated_date)
VALUES (NEW.employee_id, NEW.salary, NOW());
END IF;
END;
以上例子创建了一个名为update_salary的触发器,当employees表中的数据更新后,如果新的薪水大于10000,触发器会将该员工的ID、薪水和更新日期插入到salary_history表中。
注意,触发器的创建需要具有足够的权限。