Spec-Zone.ru › MySQL 5.7

13.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-5.7-en/do.html

Spec-Zone.ru

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