CREATE OR REPLACE PROCEDURE GDPT.TEST (
x IN NUMBER,
y OUT NUMBER
)
is 
userid_var number :=x;
BEGIN
   SELECT userunit
   into y
     FROM USERBASEINFO
    WHERE userid=userid_var;    
END TEST;

解决方案 »

  1.   

    OracleParameter[] parms = new OracleParameter[2];
                parms[0] = new OracleParameter("x", OracleType.Number, 20);
                parms[0].Value = x的值;
                parms[1] = new OracleParameter("y", OracleType.Number, 20);
                parms[1].Direction = ParameterDirection.Output;
    parms 加到command.Parameters中
      

  2.   

    String sql ="{ call pg_ylbx_ytz.ZFSBCLMX(?,?) }" ;
                  cstmt = this.createCstmt(sql);
                  cstmt.setString(1, tzny);
                  cstmt.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);              cstmt.execute();
                  rs = (ResultSet) cstmt.getObject(2);