MySQL で Orcale Database の dbms_lock.sleep(秒数) のように sleep させたい場合は、select sleep(秒数) でできる。
5.6.10-log awsuser: [mydb] 15:26> select sleep(5); +----------+ | sleep(5) | +----------+ | 0 | +----------+ 1 row in set (5.24 sec) 5.6.10-log awsuser: [mydb] 15:26> select sleep(10); +-----------+ | sleep(10) | +-----------+ | 0 | +-----------+ 1 row in set (10.09 sec)
プロシージャにして実行してみる。
5.6.10-log awsuser: [mydb] 02:54> delimiter // 5.6.10-log awsuser: [mydb] 02:54> create procedure sleep_test(IN par_transaction_delay DOUBLE) -> begin -> select sleep(par_transaction_delay); -> end -> // Query OK, 0 rows affected (0.02 sec) 5.6.10-log awsuser: [mydb] 02:54> 5.6.10-log awsuser: [mydb] 02:54> 5.6.10-log awsuser: [mydb] 02:54> delimiter ; 5.6.10-log awsuser: [mydb] 02:54> call sleep_test(10); +------------------------------+ | sleep(par_transaction_delay) | +------------------------------+ | 0 | +------------------------------+ 1 row in set (10.01 sec) Query OK, 0 rows affected (10.01 sec)