CALL

Executes the specified stored procedure. Does not return results.

Syntax

CALL { procedure_name( [argument_list] )
| database_name.procedure_name( [argument_list] ) };

Arguments

procedure_name

The name of the stored procedure to execute.

argument_list

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 that accepts a VARCHAR as an input parameters.

CALL snapshot_db('db1');
Query OK, 0 rows affected (0.35 sec)

Calling from within another stored procedure and assigning the return value:

DELIMITER //
CREATE PROCEDURE getNumRows(tableName text) RETURNS bigint AS
DECLARE rowCount bigint;
BEGIN
EXECUTE IMMEDIATE CONCAT('select count(*) from ', tableName)
INTO rowCount;
RETURN rowCount;
END
//
CREATE TABLE spt(a int) //
INSERT spt VALUES(1),(2) //
DO
DECLARE n bigint;
BEGIN
n = getNumRows("spt"); /* calls SP and assigns result to n */
ECHO SELECT n;
END
//
DELIMITER ;

Related Topics

Last modified: January 31, 2024

Was this article helpful?