create or replace function getParentTypeName(TypeID in number)
return varchar2
is
    TempName varchar2(200);
    TempID number;
begin
    TempID:=0;
    select name into TempName,ID into TempID from ar_fault_type where id=TypeID;    while TempID!=1 loop
    TempName:='->'+TempName;
    select name into TempName,ID into TempID from ar_fault_type where id=TempID;
    end loop
    
    TempName:='->'+TempName;
    return TempName;
    
end getParentTypeName;

解决方案 »

  1.   

    看看报什么错啊。
    如果是用工具编译的,肯定有个log窗口,上面有具体哪行的错误信息;
    如果是用sqlplus编译的,show errors也能看到错误信息。但是这句的用法肯定是不对的:
    TempName:='->'+TempName;
    要换成
    TempName:='->'||TempName;
      

  2.   


    我试过最简单的
    getParentTypeName(TypeID in number)
    return varchar2
    is
      TempName varchar2(200);
    begin
       select name into TempName from ar_fault_type where id=TypeID;
       return TempName;
        
    end getParentTypeName;也是报同样的错误,由于是在sqlplus中执行的,提示说:警告:创建的函数带有编译错误。
    在Toad里点击运行,直接没反应。求高手指教
      

  3.   

    执行show errors看错误啊!!!