ВЫЗОВ
Синтаксис
CALL sp_name([parameter[,...]]) CALL sp_name[()]
Описание
Оператор CALL вызывает хранимую процедуру, которая была определена ранее с помощью CREATE PROCEDURE.
Имена хранимых процедур могут быть указаны как database_name.procedure_name. Имена процедур и баз данных могут быть заключены в обратные кавычки (). Это необходимо, если они являются зарезервированными словами или содержат специальные символы. Подробнее см. квалификаторы идентификаторов.
CALL p() и CALL p эквивалентны.
Если используются круглые скобки, между именем процедуры и открывающей скобкой допускается любое количество пробелов, символов табуляции и символов новой строки.
CALL может возвращать значения своему вызывающему объекту с помощью параметров, объявленных как OUT или INOUT параметры. Если значению параметра OUT не присвоено значение, ему присваивается NULL (и его предыдущее значение теряется). Чтобы передавать такие значения из другой хранимой программы, можно использовать пользовательские переменные, локальные переменные или параметры процедуры; в других контекстах можно использовать только пользовательские переменные.
CALL также может выполняться как подготовленное утверждение. Заполнители могут использоваться для IN параметров во всех версиях MariaDB; для OUT и INOUT параметров заполнители могут использоваться начиная с MariaDB 5.5.
Когда процедура возвращается, программа клиента также может получить количество затронутых строк для последнего оператора, выполненного внутри процедуры: на уровне SQL вызовите функцию ROW_COUNT(); из C API, вызовите функцию mysql_affected_rows().
Если установлен флаг API CLIENT_MULTI_RESULTS, CALL может возвращать любое количество наборов результатов, и вызываемая хранимая процедура может выполнять подготовленные операторы. Если он не установлен, может быть возвращен не более одного набора результатов, и подготовленные операторы не могут использоваться внутри процедур.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/call/