如何解决r2dbc:使用输入和输出参数在 mysql 中调用 Stored Proc
r2dbc 目前是否支持在我的 sql 中使用输入/输出参数调用存储过程?
我正在尝试使用返回字符串的 databaseClient 调用存储过程。但我收到以下异常。我是否必须添加任何内容以从 r2dbc 调用 SP。我的存储过程如下所示。如何使用数据库调用 SP -客户端
CREATE PROCEDURE usp_get_data(in someId varchar(255),in someName varchar(255),out email varchar(255))
BEGIN
SELECT email FROM products where id=:someId and name=:someName LIMIT 1;
END //
下面是我的代码。
String STORED_PROC = "call usp_get_data(:someId,:someName)"
def result = databaseClient.execute(STORED_PROC)
.bindNull("someId","someId")
.bindNull("someName","someName")
.as(String.class)
.fetch().one()
Incorrect number of arguments for PROCEDURE usp_get_data expected 3,got 2))
解决方法
忘记在调用存储过程语句中添加@out。
在下面修改我的执行有效。
String STORED_PROC = "call usp_get_data(:someId,:someName,@email);
Select @email"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。