【问题标题】:About database triggers and stored procedure关于数据库触发器和存储过程
【发布时间】:2016-02-18 09:05:18
【问题描述】:

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

我不明白这些术语。谁能帮我对数据库触发器和存储过程有一个清晰的概念?

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

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

提前致谢....

【问题讨论】:

    标签: php mysql database phpmyadmin datatrigger


    【解决方案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 ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多