【发布时间】:2016-02-18 09:05:18
【问题描述】:
我对数据库触发器和存储过程缺乏了解。
我不明白这些术语。谁能帮我对数据库触发器和存储过程有一个清晰的概念?
如何在 PHP 和 MYSQL 中实现数据库触发器和存储过程?
我认为一个简单的 PHP 示例可以让我理解这些主题。
提前致谢....
【问题讨论】:
标签: php mysql database phpmyadmin datatrigger
我对数据库触发器和存储过程缺乏了解。
我不明白这些术语。谁能帮我对数据库触发器和存储过程有一个清晰的概念?
如何在 PHP 和 MYSQL 中实现数据库触发器和存储过程?
我认为一个简单的 PHP 示例可以让我理解这些主题。
提前致谢....
【问题讨论】:
标签: php mysql database phpmyadmin datatrigger
当一个给定的操作发生时执行触发器 - 一个 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 ;
【讨论】: