如何设置 MySQL 触发器/过程执行的延迟?


要设置延迟,可以使用 SLEEP()。让我们在过程执行延迟中实现 SLEEP()。

首先,我们将创建一个存储过程 −

mysql> DELIMITER //
mysql> CREATE PROCEDURE delayInMessage()
   -> BEGIN
   -> SELECT SLEEP(20);
   -> SELECT "AFTER SLEEPING 20 SECONDS, BYE!!!";
   -> END
   -> //
Query OK, 0 rows affected (0.30 sec)
mysql> DELIMITER ;

现在,你可以使用 CALL 命令调用存储过程。以下是语法 −

CALL yourStoredProcedureName();

以下是调用上述存储过程和检查执行延迟的查询 −

mysql> call delayInMessage();

这将产生以下输出 −

+-----------+
| SLEEP(20) |
+-----------+
| 0         |
+-----------+
1 row in set (20.00 sec)

+------------------------------------+
| AFTER SLEEPING 20 SECONDS, BYE!!!  |
+------------------------------------+
| AFTER SLEEPING 20 SECONDS, BYE!!!  |
+------------------------------------+
1 row in set (20.01 sec)
Query OK, 0 rows affected (20.04 sec)

请看上面的示例输出,执行延迟为 20.01 秒。

更新于:2019 年 7 月 30 日

3K+ 浏览量

启动你的职业

完成课程后通过认证

开始吧
广告