CALL procedure_name(parameter1, parameter2, ...);procedure_name 是存储过程的名称。parameter1, parameter2">

mysql怎么调用存储过程

来源:这里教程网 时间:2026-02-28 18:11:26 作者:

如何调用 MySQL 存储过程

存储过程是 MySQL 中预先编译的 SQL 语句,可重复执行并接受参数。调用存储过程有多种方法:

方法 1:使用

CALL
语句

<code class="sql">CALL procedure_name(parameter1, parameter2, ...);</code>
procedure_name
是存储过程的名称。
parameter1
,
parameter2
等是存储过程的参数,用逗号分隔。

方法 2:使用 JDBC API

<code class="java">// 创建 CallableStatement 对象
CallableStatement statement = connection.prepareCall("{call procedure_name}");
// 设置存储过程参数
statement.setString("parameter1", value1);
statement.setInt("parameter2", value2);
// 执行存储过程并获取结果
statement.execute();</code>

方法 3:使用 Python MySQLdb API

<code class="python"># 创建游标对象
cursor = connection.cursor()
# 执行存储过程
cursor.callproc('procedure_name', (parameter1, parameter2, ...))
# 获取结果
result = cursor.fetchall()</code>

方法 4:使用 C/C++ MySQL Connector/C++ API

<code class="cpp">// 创建 PreparedStatement 对象
PreparedStatement* statement = connection->prepareStatement("{call procedure_name}");
// 设置存储过程参数
statement->setString(1, value1);
statement->setInt(2, value2);
// 执行存储过程并获取结果
statement->execute();</code>

示例:调用存储过程以获取订单详情

假设有一个名为

get_order_details
的存储过程,该存储过程接受一个
order_id
参数并返回订单详细信息。我们可以使用
CALL
语句调用此存储过程:

<code class="sql">CALL get_order_details(12345);</code>

此语句将执行存储过程

get_order_details
并返回指定订单 ID 为 12345 的订单详细信息。

相关推荐