MySQL-SQL存储函数以及触发器详解
MySQL中的存储函数和触发器是两种在数据库中执行自定义逻辑的有用工具。
存储函数
存储函数是可以返回单个值的数据库存储程序。
创建一个简单的函数,返回数字10:
DELIMITER //
CREATE FUNCTION my_function()
RETURNS INT
BEGIN
RETURN 10;
END //
DELIMITER ;
调用这个函数:
SELECT my_function();
触发器
触发器是在对表进行INSERT、UPDATE或DELETE操作时自动执行的特殊类型的存储程序。
创建一个简单的触发器,在向表中插入数据时记录操作:
CREATE TRIGGER before_insert_trigger
BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
INSERT INTO audit_log(operation, table_name, timestamp)
VALUES('INSERT', 'my_table', NOW());
END;
在这个例子中,每次向my_table
表中插入记录之前,触发器会向audit_log
表中插入一条记录,记录操作类型、表名和操作时间。
评论已关闭