我写了这样一个函数,
create  .... bb...
 (tbname  varchar2)
       return  varchar2  as  
       vColName  varchar2(30);  
       vRtn  varchar2(1000):='';  
       begin  
         for  cur  in  (select  CNAME  from  col  where  TNAME=upper(tbname))  loop  
         vRtn  :=  vRtn  ||'||:OLD.' ||cur.CNAME;  
         end  loop;  
      return  vRtn;  
      end  bb;
执行的结果是||:OLD.C||:OLD.D
现在我想得到:OLD.C||:OLD.D
在函数里应该怎么改?要加什么?
谢谢拉!!

解决方案 »

  1.   

    create  .... bb...
     (tbname  varchar2)
           return  varchar2  as  
           vColName  varchar2(30);  
           vRtn  varchar2(1000):='';  
           begin  
             for  cur  in  (select  CNAME  from  col  where  TNAME=upper(tbname)) loop  
               if vRtn='' then
                  vRtn:=':OLD.' ||cur.CNAME;  
               else
                  vRtn  :=  vRtn  ||'||:OLD.' ||cur.CNAME;
               end if;  
             end  loop;  
          return  vRtn;  
          end  bb;
      

  2.   

    是if vRtn is null then
    不过还是谢谢你了