MYSQLプロシージャからパラメータを取得しようとしています。私の手順:
CREATE PROCEDURE proc(someIn INT UNSIGNED,
anotherIn INT UNSIGNED,
OUT x DECIMAL(10,7),
OUT y DECIMAL(10,7))
私のJavaコード:
CallableStatement cs = conn.prepareCall("{call proc(?, ?,?,?)}");
cs.setLong(1, someLong);
cs.setLong(2, anotherLong);
cs.registerOutParameter(3,Types.DECIMAL,7);
cs.registerOutParameter(4,Types.DECIMAL,7);
rs = cs.executeQuery();
if (rs.next()) {
double x = rs.getBigDecimal(3).doubleValue();
double y = rs.getBigDecimal(4).doubleValue();
}
そして、rs.next()を呼び出すときにエラーが発生しました:
java.sql.SQLException:ResultSetはUPDATEからのものです。データなし。
同じパラメータを使用してプロシージャを手動で呼び出すと、結果データが取得されます。小数を2倍に変更しようとしましたが、効果がありません。