CREATE PROCEDURE `p_staff_monitor_list_wq`(
IN staffId INTEGER(11), 
IN companyId INTEGER(11), 
OUT outId INTEGER(11), 
OUT pId INTEGER(11), 
OUT name VARCHAR(20), 
OUT treeId VARCHAR(200), 
OUT flag VARCHAR(10)
)
    NOT DETERMINISTIC
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN
    DECLARE sqlStr VARCHAR(9900);
       set sqlStr = 'select group_id,parent_id,group_name,tree_id,"group" into outId,pId,name,treeId,flag from t_mail_company_group ';
   set @sqlStr1 =sqlStr;
     prepare stmtNovelSearch from @sqlStr1;
     execute stmtNovelSearch;
     DEALLOCATE PREPARE stmtNovelSearch;
END
compile没错。execute时候抛错:
Undeclared variable: outIdCause: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Undeclared variable: outId
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
at com.mail.dao.impl.StaffInfoDAOImpl.getMonitorTreeByStaffId(StaffInfoDAOImpl.java:176)
at com.mail.service.impl.StaffInfoServiceImpl.getMonitorTreeByStaffId(StaffInfoServiceImpl.java:173)
at com.mail.action.StaffAction.mailMonitor(StaffAction.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)