} catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } util.close(); return teamPlayer; } 这是个存储过程的查询oracle 中这么写的,存储过程:需要在 命令窗口运行:create or replace procedure f_t_03_player ( v_player_id in varchar2, v_player_name out varchar2, v_player_sex out varchar2, v_player_age out varchar2, v_team_id out varchar2 ) as begin select player_name,player_sex,player_age,team_id into v_player_name,v_player_sex,v_player_age,v_team_id from t_03_player where player_id = v_player_id; end;最后别忘记commit;存储过程
p_cur out sys_refcursor
)
is
begin
open p_cur for select * from dual;
end;
至少前端语言怎么调用,请自行google
http://topic.csdn.net/u/20090216/17/8856eb04-e96a-4873-8155-298987db32b4.html
Connection conn = null;
CallableStatement cstmt = null;
//ResultSet rs = null;
DBUtil util = new DBUtil();
conn = util.openConn();
TeamPlayer teamPlayer = new TeamPlayer();
String sql = "{call p_find_t_03_player(?,?,?,?,?)}";
try {
cstmt = conn.prepareCall(sql);
cstmt.setString(1, playerId);
cstmt.registerOutParameter(2, Types.VARCHAR);
cstmt.registerOutParameter(3, Types.VARCHAR);
cstmt.registerOutParameter(4, Types.VARCHAR);
cstmt.registerOutParameter(5, Types.VARCHAR);
cstmt.execute();
teamPlayer.setPlayerId(playerId);
teamPlayer.setPlayerName(cstmt.getString(2));
teamPlayer.setPlayerSex(cstmt.getString(3));
teamPlayer.setPlayerAge(cstmt.getString(4));
teamPlayer.setTeamId(cstmt.getString(5));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
util.close();
return teamPlayer;
}
这是个存储过程的查询oracle 中这么写的,存储过程:需要在 命令窗口运行:create or replace procedure f_t_03_player
(
v_player_id in varchar2,
v_player_name out varchar2,
v_player_sex out varchar2,
v_player_age out varchar2,
v_team_id out varchar2
)
as
begin
select player_name,player_sex,player_age,team_id into v_player_name,v_player_sex,v_player_age,v_team_id from t_03_player where player_id = v_player_id;
end;最后别忘记commit;存储过程