我对数据库触发器和存储过程缺乏了解。
我不明白这些条款。任何人都可以帮助我对数据库触发器和存储过程做出明确的概念吗?
如何在PHP和MYSQL中实现数据库触发器和存储过程?
我认为PHP中的一个简单示例可以让我了解这些主题。
提前致谢....
答案 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 ;