你把存储过程的代码写成普通的SQL语句就行了:  StringBuffer sql = new StringBuffer("declare @max_mid integer;declare @max_mserialno integer;");
  sql.append("set @max_mid=(select max(M_ID)+1 from S_T_Menu);");
  sql.append("set @max_mserialno = (select max(M_SerialNO)+1 from S_T_Menu where M_ParentMenuID="+M_ParentMenuID+");");
  sql.append("if(@max_mserialno is null) set @max_mserialno=1;");
  sql.append("insert into S_T_Menu(M_ID,M_isSubMenu,M_ParentMenuID,M_CNName,M_EnName,M_URL,M_TargetFrameName,M_SerialNO)");
  sql.append("values(@max_mid,1,?,?,?,?,?,@max_mserialno);");  PreparedStatement pstmt = pdb.getPrepareStatement(sql.toString());
以上虽不是存储过程,但已经表达了我的意思.