count number(5);把count换成其他的变量!
如v_count等

解决方案 »

  1.   

    同上!也可以用select count(1) into "count" from abc;
      

  2.   

    把count换成其他的变量!
    如v_count等
      改过拉还是那个毛病
      

  3.   

    警告: ファンクションが作成されましたが、コンパイル・エラーがあります
      

  4.   

    把count换成其他的变量!
    如v_count等
    还有
    create or replace function aabc(
    maxnumber number,
    minnumber number
    )
    return varchar2 isend abc;  -----------------------------与aabc 不配
    declare
    maxnumber number:=1000;
    minnumber number:=12;
    result varchar2(50);
    begin
    result:=aabc(maxnumber,minnumber);
    dbms_out.put_line(result);---------------------是dbms_output.put_line(result);
    end;
    /
      

  5.   


    create or replace function funct(
    maxnumber number,
    minnumber number
    )
    return varchar2 isv_result varchar2(50);
    v_count  number(5);begin
    select count(1) into v_count from abc;if v_count>maxnumber then
    v_result:='the number is big';elsif  v_count<minnumber then
    v_result:='is small';else
    v_result:='normal';end if;
    return v_result;end funct;declare
    maxnumber number:=1000;
    minnumber number:=12;
    d_result varchar2(50);
    begin
    d_result:=funct(maxnumber,minnumber);
    dbms_output.put_line(d_result);end;
    /
    这样也不行
      

  6.   

    create or replace function funct(
    maxnumber number,
    minnumber number
    )
    return varchar2 isv_result varchar2(50);
    v_count number(5);begin
    select count(*) into v_count from abc;if v_count>maxnumber then
    v_result:='the number is big';elsif v_count<minnumber then
    v_result:='is small';else
    v_result:='normal';end if;
    return v_result;end;declare
    maxnumber number:=1000;
    minnumber number:=12;
    d_result varchar2(50);
    begin
    d_result:=funct(maxnumber,minnumber);
    dbms_output.put_line(d_result);end;
    /set serveroutput on;
    /
      

  7.   

    把函数定义与测试代码不能在同一事务中提交,
    你可以这样改....
    end funct;
    /      ----------------------------先建函数
    declare
    ....或者先运行
    create or replace function funct(
    maxnumber number,
    minnumber number
    )
    return varchar2 isv_result varchar2(50);
    v_count  number(5);begin
    .......end funct;
    再运行
    declare
    maxnumber number:=1000;
    minnumber number:=12;
    d_result varchar2(50);
    begin
    d_result:=funct(maxnumber,minnumber);
    dbms_output.put_line(d_result);end;
    本人在自己的机子上测试是通过的.
    请赐教.
      

  8.   

    我靠,他该不是一起运行了吧!!!!
    为什么才一分??
    funt!!!