你还在处理这个问题吗?
CALL eveql.sp_matFinder('ishkur');
在DBeaver中成功返回并为我返回15行。 我已经在node.js中按照这种语法进行了调用。
connection.query('CALL eveql.sp_matFinder(?);', [itemName], function(err, rows){
if(err) throw err;
console.log(rows);
console.log(JSON.stringify(rows));
});
.query(成功返回,但是我收到一个空数组,我的结果应该是。
[ **[]**,
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 34,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 } ]
Data : [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":34,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
所以我也不知所措。它可能是针对节点版本的mysql的版本问题。
答案 0 :(得分:1)
根据mysql docs
使用CALL语句调用过程(参见第13.2.1节, “CALL语法”),并且只能使用输出变量传回值。 可以像在任何其他语句中一样从语句内部调用函数 函数(即通过调用函数的名称),可以返回一个 标量值。
使用函数返回结果集或使用OUT参数返回标量值。