关于数据库触发器和存储过程

About database triggers and stored procedure

我对数据库触发器和存储过程缺乏了解。

我不明白这些条款。谁能帮我弄清楚数据库触发器和存储过程的概念?

如何在 PHP 和 MYSQL 中实现数据库触发器和存储过程?

我认为 PHP 中的一个简单示例可以让我理解这些主题。

提前致谢....

当给定操作发生时执行触发器 - INSERT、UPDATE 或 DELETE。您无法控制它发生的确切时间或次数 - 它只是发生了。另一方面,存储过程必须由您 运行 - 您必须执行它,它不会在每次插入一行时自动 运行 等。 More Detail

触发码

CREATE
TRIGGER `event_name` BEFORE/AFTER INSERT/UPDATE/DELETE
ON `database`.`table`
FOR EACH ROW BEGIN
    -- trigger body
    -- this code is applied to every 
    -- inserted/updated/deleted row
END;

存储过程代码

DELIMITER $$
DROP FUNCTION IF EXISTS `functionname` $$
CREATE FUNCTION `functionname`(`fid` int) RETURNS varchar(25) CHARSET utf8
BEGIN
 DECLARE fName varchar(25);
 SELECT name into fName FROM table
 WHERE id = fid;
 RETURN fName;
END $$
DELIMITER ;