create or replace function myfun1(v_ename varchar2) return
number is v_sal number(7,2);
begin
select sal*12+nvl(comm,0)*12 into v_sal from pme where ename=v_ename;
return v_sal;
end;import java.sql.*;public class Testproc { public static void main(String[] args) {
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:myora1", "scott", "tiger");
CallableStatement c = conn.prepareCall("{?=call myfun1(?)}");
c.registerOutParameter(1, Types.VARCHAR);
c.setString(2, "SCOTT");
c.execute();
String s = c.getString(1);
System.out.println(s);
c.close();
conn.close();
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}
}
}看我写的大概对不对?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货