2016-02-18 48 views
-2

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

我不理解这些条款。任何人都可以帮我明确一下数据库触发器和存储过程的概念吗?

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

我想在PHP中的一个简单的例子可以让我了解这些主题。

预先感谢....当一个给定的操作发生时执行

回答

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 ; 
相关问题