1.异常处理
2.从java代码中调用存储过程.下边示例包含从out参数中取数据。
[color=red]CallableStatement[/color] proc=null;
[color=red]proc=myConnection.prepareCall("{call getdcsj(?,?,?,?,?)}");[/color]
proc.setString(1, strDate);
[color=red] proc.setString(2, jzbh);
proc.registerOutParameter(3, Types.NUMERIC);[/color]
proc.registerOutParameter(4, OracleTypes.CURSOR);
proc.registerOutParameter(5, OracleTypes.CURSOR);
proc.execute();
ResultSet rs=null;
int total_number=proc.getInt(3);
[color=red]rs=(ResultSet)proc.getObject(4);[/color]
[b][color=red]3.带参数的cursor[/color][/b]
[color=red] CURSOR [b]C_USER(C_ID NUMBER) [/b]IS SELECT NAME FROM USER WHERE TYPEID=C_ID;[/color]
[color=red]OPEN [b]C_USER(变量值);[/b]
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;[/color]
2.从java代码中调用存储过程.下边示例包含从out参数中取数据。
[color=red]CallableStatement[/color] proc=null;
[color=red]proc=myConnection.prepareCall("{call getdcsj(?,?,?,?,?)}");[/color]
proc.setString(1, strDate);
[color=red] proc.setString(2, jzbh);
proc.registerOutParameter(3, Types.NUMERIC);[/color]
proc.registerOutParameter(4, OracleTypes.CURSOR);
proc.registerOutParameter(5, OracleTypes.CURSOR);
proc.execute();
ResultSet rs=null;
int total_number=proc.getInt(3);
[color=red]rs=(ResultSet)proc.getObject(4);[/color]
[b][color=red]3.带参数的cursor[/color][/b]
[color=red] CURSOR [b]C_USER(C_ID NUMBER) [/b]IS SELECT NAME FROM USER WHERE TYPEID=C_ID;[/color]
[color=red]OPEN [b]C_USER(变量值);[/b]
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;[/color]