当前位置: 代码迷 >> Oracle管理 >> FUNCTION SDMS_LY.MY_SPLIT 编译异常 异常:PLS-00103: 出现符号 "("在需要下列之一时: := . )
  详细解决方案

FUNCTION SDMS_LY.MY_SPLIT 编译异常 异常:PLS-00103: 出现符号 "("在需要下列之一时: := . )

热度:322   发布时间:2016-04-24 04:09:20.0
FUNCTION SDMS_LY.MY_SPLIT 编译错误 错误:PLS-00103: 出现符号 "("在需要下列之一时: := . ) ,
create or replace function my_split(str in varchar(1000))
return varchar
as
i integer := 0;
str1 varchar;
begin
  i := instr(str,',',1);
  str1 := substr(str,0,i);
  return str1;
  end;

报下面的错:

FUNCTION SDMS_LY.MY_SPLIT 编译错误

错误:PLS-00103: 出现符号 "("在需要下列之一时:
        := . ) , @ % default
          character
       符号 ":=" 被替换为 "(" 后继续。
行:1
文本:create or replace function my_split(str in varchar(1000))

在网上搜说是可能有全角的错,然后我把代码重新敲了一遍,还是这个错,让同事帮忙敲了一遍,编译之后还是这个错。
请问各位大神,这玩意儿应该怎么弄啊!!!

------解决思路----------------------
引用:
Quote: 引用:

同时,as后面的str1 varchar; 改成str1 varchar(1000);

按照您说的,都改了,运行之后还是报这个错


SQL> create or replace function my_split(str in varchar)
  2  return varchar
  3  as
  4  i integer := 0;
  5  str1 varchar(1000);
  6  begin
  7    i := instr(str,',',1);
  8    str1 := substr(str,0,i);
  9    return str1;
 10    end;
 11  /
 
Function created
 
SQL> select my_split('ok,test') from dual;
 
MY_SPLIT('OK,TEST')
--------------------------------------------------------------------------------
ok,
 
SQL> 
  相关解决方案