一个简单的报错,麻烦看看

gnolk 2015-05-18 12:44:31
函数如下,提示报错行 是: return str1;我实在搞不懂,麻烦指教一下
create or replace function qdn_lks_fi( str1 varchar2,str2 varchar2) return varchar2
is
v1 varchar(1);
v2 varchar(2);
v3 varchar(3);
str3 varchar2(5);
begin
str3:='';
v1:=substr(str1,1,1);
v2:=substr(str1,2,1);
v3:=substr(str1,3,1);
if instr(str2,v1)>0 and instr(str2,v2)>0 and instr(str2,v3)>0 then
return str1;

else
  return str3;

end if;
end;



报错信息:
Compilation errors for FUNCTION QUERY.QDN_LKS_FI

Error: PLS-00103: Encountered the symbol "" when expecting one of the following:

( begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
Line: 16
Text:   return str3;
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbdzjx 2015-05-18
  • 打赏
  • 举报
回复
return str3;前面是两个全角的空格,改成半角的空格。
yuyeyi 2015-05-18
  • 打赏
  • 举报
回复

create or replace function qdn_lks_fi( str1 in out varchar2,str2 varchar2) return varchar2
is
v1 varchar(1);
v2 varchar(2);
v3 varchar(3);
str3 varchar2(5);
 begin
    str3 :='';
        v1 :=substr(str1,1,1);
        v2 :=substr(str1,2,1);
        v3 :=substr(str1,3,1);
          if instr(str2,v1)>0 and instr(str2,v2)>0 and instr(str2,v3)>0 then
              return str1;
            
   else
  return str3;
 
    end if;
   end;
这样试试。
  • 打赏
  • 举报
回复
有没有测试数据呢
qq_28288329 2015-05-18
  • 打赏
  • 举报
回复
在命令行下,创建这个存储过程,用什么字符作为结尾呢?
gnolk 2015-05-18
  • 打赏
  • 举报
回复
楼上这个和我的貌似一样 看不 出哪里修改 测试了 也不行
  • 打赏
  • 举报
回复
create or replace function qdn_lks_fi( str1 varchar2,str2 varchar2) return varchar2
is
v1 varchar(1);
v2 varchar(2);
v3 varchar(3);
str3 varchar2(5);
 begin
    str3 :='';
        v1 :=substr(str1,1,1);
        v2 :=substr(str1,2,1);
        v3 :=substr(str1,3,1);
          if instr(str2,v1)>0 and instr(str2,v2)>0 and instr(str2,v3)>0 then
              return str1;
           
   else
  return str3;

    end if;
   end;
试试看呢

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧