Spec-Zone.ru › MariaDB

ОПРЕДЕЛЕНИЕ КЕРСОРА

Синтаксис

<= MariaDB 10.2

DECLARE cursor_name CURSOR FOR select_statement

С MariaDB 10.3

DECLARE cursor_name CURSOR [(cursor_formal_parameter[,...])] FOR select_statement

cursor_formal_parameter:
    name type [collate clause]

С MariaDB 10.8

DECLARE cursor_name CURSOR [(cursor_formal_parameter[,...])] FOR select_statement

cursor_formal_parameter:
    [IN] name type [collate clause]

Описание

Это оператор, объявляющий керсор. В хранимой процедуре могут быть объявлены несколько керсоров, но каждый керсор в данном блоке должен иметь уникальное имя.

select_statement выполняется только после выполнения оператора OPEN. Необходимо помнить об этом, если запрос вызовет ошибку или вызовет функции со побочными эффектами.

SELECT связанный с керсором может использовать переменные, но сам запрос не может быть переменной и не может быть динамически составлен. Оператор SELECT не может иметь INTO оператор.

Керсоры должны быть объявлены до HANDLER, но после локальных переменных и CONDITION.

Параметры

MariaDB начиная с 10.3.0

Начиная с MariaDB 10.3.0, керсоры могут иметь параметры. Это нестандартное расширение SQL. Параметры керсора могут появиться в любой части оператора DECLARE CURSOR select_statement, где разрешена переменная хранимой процедуры (список выбора, WHERE, HAVING, LIMIT и т. д.).

IN

MariaDB начиная с 10.8.0

Начиная с предварительной версии MariaDB 10.8.0, квалификатор IN поддерживается в части синтаксиса cursor_format_parameter.

См. Обзор керсоров для примера.

См. также

  • Обзор керсоров
  • OPEN cursor_name
  • FETCH cursor_name
  • CLOSE cursor_name
  • Керсоры в режиме Oracle
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/declare-cursor/

Spec-Zone.ru

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