if in_type=0 then
        select max(meter_id)  into maxmeter_id from ws_meter_info where  unit_num=in_unit_num or serial_num=in_unit_num or         trans_num=in_unit_num ;--or client_num=in_unit_num
     end if;
     if in_type=1 then
       select max(meter_id)  into maxmeter_id from ws_meter_info where trans_num=in_unit_num ;
     end if;
     if in_type=2 then
       select max(meter_id)  into maxmeter_id from ws_meter_info where  serial_num=in_unit_num ;
     end if;
     if in_type=3 then
       select max(meter_id)  into maxmeter_id from ws_meter_info where  client_num=in_unit_num;
     end if;可以用一句话写就行了
if in_type > -1 and in_type < 4 then
select max(meter_id)
into maxmeter_id
from ws_meter_info
 where ((unit_num = in_unit_num or serial_num = in_unit_num or
 trans_num = in_unit_num) and in_type = 0)
or (trans_num = in_unit_num and in_type = 1)
or (serial_num = in_unit_num and in_type = 2)
or (client_num = in_unit_num and in_type = 3);
end if;