Syntax
------

CALL sp_name([parameter[,...]])
CALL sp_name[()]

Description
-----------

The CALL statement invokes a stored procedure that was defined previously with
CREATE PROCEDURE.

Stored procedure names can be specified as database_name.procedure_name.
Procedure names and database names can be quoted with backticks (). This is
necessary if they are reserved words, or contain special characters. See
identifier qualifiers for details.

CALL p() and CALL p are equivalent.

If parentheses are used, any number of spaces, tab characters and newline
characters are allowed between the procedure's name and the open parenthesis.

CALL can pass back values to its caller using parameters that are declared as
OUT or INOUT parameters. If no value is assigned to an OUT parameter, NULL is
assigned (and its former value is lost). To pass such values from another
stored program you can use user-defined variables, local variables or
routine's parameters; in other contexts, you can only use user-defined
variables.

CALL can also be executed as a prepared statement. Placeholders can be used
for IN parameters in all versions of MariaDB; for OUT and INOUT parameters,
placeholders can be used since MariaDB 5.5.

When the procedure returns, a client program can also obtain the number of
rows affected for the final statement executed within the routine: At the SQL
level, call the ROW_COUNT() function; from the C API, call the
mysql_affected_rows() function.

If the CLIENT_MULTI_RESULTS API flag is set, CALL can return any number of
resultsets and the called stored procedure can execute prepared statements. If
it is not set, at most one resultset can be returned and prepared statements
cannot be used within procedures.

URL: https://mariadb.com/kb/en/call/