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

时间:2016-02-18 09:05:19

标签: php mysql database phpmyadmin datatrigger

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

我不明白这些条款。任何人都可以帮助我对数据库触发器和存储过程做出明确的概念吗?

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

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

提前致谢....

1 个答案:

答案 0 :(得分:1)

当给定操作发生时执行触发器 - 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 ;