尝试创建函数时出现编译错误

时间:2018-08-11 11:05:32

标签: oracle plsql

我正在使用以下代码删除电话属性中的“-”符号

drop function funphone

create function funphone
declare @phone varchar(20)
return  
is 
@retphone varchar(20)
begin 
      select phone from src_emp where phone=@phone
      @retphone=replace(replace(@phone,'-',''),'-','')
      return @retphone
end 

但是我得到警告:函数创建时出现编译错误

enter image description here

1 个答案:

答案 0 :(得分:1)

您的问题被标记为Oracle,但是代码看起来像SQL Server。在Oracle中,我希望这样的事情更多:

create function funphone (
    in_phone in varchar2
)
return varchar2
as 
    v_retphone varchar2(20);
begin 
    select replace(e.phone, '-', '') into v_retphone
    from src_emp e
    where e.phone = in_phone;

    return v_retphone;
end ;