create or replace function  f_stat
(
date_startime in date,
in_item       in  int)RETURN  float IS
   return_value                 float;
   
 declare 
 in_callnum int;                
 in_StatusA int;                
  
BEGINcase  in_item 
when 1 then  return_value := 3
when 2 then  return_value := 8
else return_value := 0
end;end;

解决方案 »

  1.   

    不符合 可以用 if ... then .. end if;
      

  2.   

    create or replace function  f_stat
    (
    date_startime in date,
    in_item       in  int)RETURN  float IS
       return_value                 float;
     in_callnum int;                
     in_StatusA int;                
      
    BEGINcase  in_item 
    when 1 then  return_value := 3;
    when 2 then  return_value := 8;
    else return_value := 0;
    end case;
    return return_value;
    end;
      

  3.   

    declare
    a float; 
    begin
    a:=f_stat(sysdate,2);
    dbms_output.put_line(to_char(a));
    end;--输出 8
      

  4.   

    create or replace function  f_stat
    (
    date_startime in date,
    in_item       in  int)RETURN  float IS
       return_value                 float;
       
     declare   --不需要
     in_callnum int;                
     in_StatusA int;                
      
    BEGINcase  in_item   --case语法不对
    when 1 then  return_value := 3
    when 2 then  return_value := 8
    else return_value := 0
    end;
     --缺少返回值
    end;