锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
Create or REPLACE FUNCTION AAAAA (
P_USER_ID_I IN VARCHAR2 --鎺ユ敹杈撳叆鍙傛暟
)
RETURN SYS_REFCURSOR
AS
P_RESULT_SET_O SYS_REFCURSOR; --榪斿洖娓告爣
X_SQL VARCHAR2(200);
BEGIN
X_SQL :='select user_id,user_name,email from user_mst where user_id like ''%' || P_USER_ID_I ||'%'''; --鐢熸垚SQL璇彞
OPEN P_RESULT_SET_O FOR X_SQL;
RETURN P_RESULT_SET_O; --榪斿洖娓告爣
END AAAAA;
JAVA 紼嬪簭璋冪敤
CallableStatement cstmt = null;
ResultSet rs = null;
try {
String callSql = "{? = call AAAAA(?)}";
cstmt = conn.prepareCall(callSql);
cstmt.setString(2, "userName");
cstmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
cstmt.execute();
rs = (ResultSet) cstmt.getObject(1);
if (rs != null) {
System.out.print("usercd");
System.out.print("userName");
System.out.println("EMAIL");
while (rs.next()) {
System.out.print(rs.getString(1)+" ");
System.out.print(rs.getString(2)+" ");
System.out.println(rs.getString(3));
}
}