CALL
On this page
Executes the specified stored procedure.
Syntax
CALL { procedure_name([arg[, ...]])| database_name.procedure_name([arg [, ...]]) };
Arguments
procedure_
The name of the stored procedure to execute.
argument_
A list of optional arguments to pass as input parameters to the stored procedure.
Remarks
-
Refer to the Permission Matrix for the required permission.
-
Stored procedures that return a scalar value can also be called on the right hand side of an assignment operation (within another stored procedure or an anonymous code block).
See CREATE PROCEDURE for more information.
Example
The following example executes a stored procedure named snapshot_
that accepts a VARCHAR
as an input parameter.
CALL snapshot_db('db1');
Query OK, 0 rows affected (0.35 sec)
The example below shows an example of calling a stored procedure and assigning the return value to a variable.getNumRows
stored procedure is created and is then called from within the INSERT
statement.
DELIMITER //CREATE PROCEDURE getNumRows(tableName text) RETURNS bigint ASDECLARE rowCount bigint;BEGINEXECUTE IMMEDIATE CONCAT('select count(*) from ', tableName)INTO rowCount;RETURN rowCount;END//DELIMITER ;CREATE TABLE spt(a int);INSERT spt VALUES(1),(2);DELIMITER //DODECLARE n bigint;BEGIN/* calls getNumRows stored procedure and assigns result to n */n = getNumRows("spt");ECHO SELECT n;END//DELIMITER ;
Related Topics
-
The ECHO command is similar to
CALL
but it outputs a set of rows as a result.
Last modified: April 30, 2024