Compilation errors for FUNCTION HNDL.F_95598ZLWZError: PLS-00103: 出现符号 "("在需要下列之一时:
       :=.),@%defaultcharacter
       符号 ":=" 被替换为 "(" 后继续。
Line: 1
Text: create or replace function f_95598zlwz(as_zlwz in varchar2(2)) return number(2)Error: PLS-00103: 出现符号 "("在需要下列之一时:
       .@%;isauthidasclusterorder
          usingexternalcharacterdeterministicparallel_enablepipelined
          aggregate
Line: 1
Text: create or replace function f_95598zlwz(as_zlwz in varchar2(2)) return number(2)

解决方案 »

  1.   

    (as_zlwz in varchar2(2)) return number(2)
    改为(as_zlwz in varchar2) return number
    形参的类型不要带大小,直接用类型就行了
      

  2.   

    修改后错误果然没有了,可是出现如下错误
    when 'sq' Result = 1 --申请Compilation errors for FUNCTION HNDL.F_95598ZLWZError: PLS-00103: 出现符号 "WHEN"在需要下列之一时:
           notnulldangling
    Line: 6
    Text: when 'sq' Result = 1 --申请
      

  3.   

    create or replace function f_95598zlwz(as_zlwz varchar2) return number
    as
      Result number(2);
    begin
      case as_zlwz is
        when ='sq' then Result = 1 --申请
        when ='kc' then Result = 2 --用电勘察
        when ='sp' then Result = 3 --审批
        when ='tf' then Result = 4 --应收费
        when ='st' then Result = 5 --实收费
        when ='bj' then Result = 6 --配表意见
        when ='jg' then Result = 7 --竣工验收
        when ='bg' then Result = 8 --竣工报告
        when ='ht' then Result = 9 --用电合同
        when ='bk' then Result = 10   --表库配表
        when ='zb' then Result = 11   --装表任务
        when ='zg' then Result = 12   --装表归档
        when ='hb' then Result = 13   --拆回表归库
        when ='dj' then Result = 14   --电价审核
        when ='zw' then Result = 15   --帐务工作票审核
        when ='gd' then Result = 16   --工作票归档
        when ='zf' then Result = 17   --作废
        when ='gc' then Result = 18   --工程管理
        when others then Result = 0 --其它
      end case;
      return(Result);
    end f_95598zlwz;
      

  4.   

    Compilation errors for FUNCTION HNDL.F_95598ZLWZError: PLS-00103: 出现符号 "WHEN"在需要下列之一时:
           notnulldangling
    Line: 6
    Text: when ='sq' then Result = 1 --申请
      

  5.   

    create or replace function f_95598zlwz(as_zlwz varchar2) return number
    as
      Result number(2);
    begin
      case as_zlwz 
        when 'sq' then Result = 1; --ÉêÇë
        when 'kc' then Result = 2; --Óõ翱²ì
        when 'sp' then Result = 3; --ÉóÅú
        when 'tf' then Result = 4; --Ó¦ÊÕ·Ñ
        when 'st' then Result = 5; --ʵÊÕ·Ñ
        when 'bj' then Result = 6; --Åä±íÒâ¼û
        when 'jg' then Result = 7; --¿¢¹¤ÑéÊÕ
        when 'bg' then Result = 8; --¿¢¹¤±¨¸æ
        when 'ht' then Result = 9; --ÓõçºÏͬ
        when 'bk' then Result = 10;   --±í¿âÅä±í
        when 'zb' then Result = 11;   --×°±íÈÎÎñ
        when 'zg' then Result = 12;   --×°±í¹éµµ
        when 'hb' then Result = 13 ;  --²ð»Ø±í¹é¿â
        when 'dj' then Result = 14 ;  --µç¼ÛÉóºË
        when 'zw' then Result = 15 ;  --ÕÊÎñ¹¤×÷ƱÉóºË
        when 'gd' then Result = 16 ;  --¹¤×÷Ʊ¹éµµ
        when 'zf' then Result = 17 ;  --×÷·Ï
        when ='gc' then Result = 18 ;  --¹¤³Ì¹ÜÀí
        else Result = 0 ; --ÆäËü
      end case;
      return(Result);
    end f_95598zlwz;
      

  6.   

    create or replace function f_95598zlwz(as_zlwz varchar2) return number
    as
      Result number(2);
    begin
      case as_zlwz 
        when 'sq' then Result = 1; --申请
        when 'kc' then Result = 2; --用电勘察
        when 'sp' then Result = 3; --审批
        when 'tf' then Result = 4; --应收费
        when 'st' then Result = 5; --实收费
        when 'bj' then Result = 6; --配表意见
        when 'jg' then Result = 7; --竣工验收
        when 'bg' then Result = 8; --竣工报告
        when 'ht' then Result = 9; --用电合同
        when 'bk' then Result = 10;   --表库配表
        when 'zb' then Result = 11;   --装表任务
        when 'zg' then Result = 12;   --装表归档
        when 'hb' then Result = 13;  --拆回表归库
        when 'dj' then Result = 14;  --电价审核
        when 'zw' then Result = 15;  --帐务工作票审核
        when 'gd' then Result = 16;  --工作票归档
        when 'zf' then Result = 17;  --作废
        when 'gc' then Result = 18;  --工程管理
        else Result = 0; --其它
      end case;
      return(Result);
    end f_95598zlwz;
      

  7.   

    高定了,好像不能用  case when的样子create or replace function f_95598zlwz(as_zlwz varchar2) return number
    as
      Result number(2);
    begin
      Result := 0 ; 
      if as_zlwz='sq' then Result := 1;  end if; --申请
      if as_zlwz='kc' then Result := 2;  end if; --用电勘察
      if as_zlwz='sp' then Result := 3;  end if; --审批
      if as_zlwz='tf' then Result := 4;  end if; --应收费
      if as_zlwz='st' then Result := 5;  end if; --实收费
      if as_zlwz='bj' then Result := 6;  end if; --配表意见
      if as_zlwz='jg' then Result := 7;  end if; --竣工验收
      if as_zlwz='bg' then Result := 8;  end if; --竣工报告
      if as_zlwz='ht' then Result := 9;  end if; --用电合同
      if as_zlwz='bk' then Result := 10; end if;   --表库配表
      if as_zlwz='zb' then Result := 11; end if;   --装表任务
      if as_zlwz='zg' then Result := 12; end if;   --装表归档
      if as_zlwz='hb' then Result := 13; end if;   --拆回表归库
      if as_zlwz='dj' then Result := 14; end if;   --电价审核
      if as_zlwz='zw' then Result := 15; end if;   --帐务工作票审核
      if as_zlwz='gd' then Result := 16; end if;   --工作票归档
      if as_zlwz='zf' then Result := 17; end if;   --作废
      if as_zlwz='gc' then Result := 18; end if;   --工程管理  return(Result); 
    end f_95598zlwz; 
      

  8.   

    result := 1not rusult =1