在 JDBC 中调用已储存过程的语法如下所示。注意,方括号表示其间的内容是可选项;方
括号本身并不是语法的组成部份。
{call 过程名[(?, ?, ...)]}
返回结果参数的过程的语法为:
{? = call 过程名[(?, ?, ...)]}
不带参数的已储存过程的语法类似:
{call 过程名}
示例代码:
String procedure="{call Operator_login(?,?,?)}";
//注册存储过程
//注册存储过程输出参数的类型
callStmt.registerOutParameter(3,java.sql.Types.INTEGER);
//提供输入参数的值
callStmt.setString(1,this.operatorID);
callStmt.setString(2,this.password);
//执行存储过程
callStmt.execute();
//返回输出参数
login_state=callStmt.getInt(3);
CallableStatement cs = conn.prepareCall("{call ec_get_cust_terms(?)}");
cs.setInt(1, custNo);
rs = cs.executeQuery();