Spec-Zone.ru › MySQL 9.2

15.2.3 Оператор DO

DO expr [, expr] ...

DO выполняет выражения, но не возвращает никаких результатов. Во многих отношениях, DO является сокращением для SELECT expr, ..., но имеет преимущество, что немного быстрее, когда результат не требуется.

DO полезен в основном с функциями, имеющими побочные эффекты, такими как RELEASE_LOCK().

Пример: Этот SELECT оператор приостанавливается, но также генерирует результат:

mysql> SELECT SLEEP(5);
+----------+
| SLEEP(5) |
+----------+
|        0 |
+----------+
1 row in set (5.02 sec)

DO, с другой стороны, приостанавливается без генерации набора результатов:

mysql> DO SLEEP(5);
Query OK, 0 rows affected (4.99 sec)

Это может быть полезно, например, в хранимой функции или триггере, которые запрещают операторы, генерирующие наборы результатов.

DO выполняет только выражения. Он не может быть использован во всех случаях, где можно использовать SELECT. Например, DO id FROM t1 недействителен, потому что он ссылается на таблицу.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/do.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API