如何为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秒。
阅读更多:MySQL 教程
极客教程