当开始接触PL/SQL,写了个简单的测试demo 如下
create or replace function countPerson
(
  int_count  int
)
return number
is 
 out_number;
begin
if int_count=0 then
  select count(id)  into out_number from t_test where gender='0';
else 
   select count(id)  into out_number from t_test;
end if;
return (out_number);
end countPerson;
编译无法通过 提示说:FUNCTION SYS.COUNTPERSON 编译错误错误:PLS-00103: 出现符号 "BEGIN"在需要下列之一时:
        . @ % ; is authid as
          cluster order using external character deterministic
          parallel_enable pipelined aggregate
       符号 "is" 被替换为 "BEGIN" 后继续。
行:6
文本:is大家看看是什么问题啊。不吝赐教。

解决方案 »

  1.   

    create or replace function countPerson
    (int_count  in t_test.gender%TYPE)
    return number
    is
    out_number number;
    begin
    if int_count='0' then
      select count(id)  into out_number from t_test where gender='0';
    else
      select count(id)  into out_number from t_test;
    end if;
    return (out_number);
    end countPerson;
      

  2.   

    上面这段没什么问题啊
    就是可以直接return out_number
      

  3.   

    out_number; 
    ===========
    改为:out_number  number; 
      

  4.   


    同out_number 没有定义类型
      

  5.   

    out_number; 
    没定义类型