首页 新闻 会员 周边

ORACLE函数PLS-00103问题

0
悬赏园豆:20 [已解决问题] 解决于 2015-06-05 16:10

在plsql里创建了一个函数,运行时出现问题

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

( begin case declare end exception 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

 函数代码如下:

 1 CREATE OR REPLACE FUNCTION SPLITSTR(S VARCHAR,SPLIT NUMBER)
 2 RETURN VARCHAR
 3 AS RE VARCHAR(200);
 4 SPLITLEN NUMBER;
 5 BEGIN
 6 SPLITLEN:=1;
 7 WHILE SPLITLEN<=SPLIT LOOP
 8 RE:=LEFT(S,CHARINDEX(';',S)-1);
 9 S:=SUBSTR(S,CHARINDEX(';',S)+1);
10 SPLITLEN:=SPLITLEN+1;
11 END LOOP;
12 RETURN RE;
13 END SPLITSTR;

从网上查出现这种问题一般是分号用错或者空格是中文字符造成的,我可以确定空格都是英文字符,大家能帮我看看哪儿出错了吗?

乐水悠悠的主页 乐水悠悠 | 初学一级 | 园豆:192
提问于:2015-05-25 09:45
< >
分享
最佳答案
0

PL/SQL里没有LEFT()函数,我试着在Oracle SQL Developer中调试,发现根本不支持LEFT函数

收获园豆:20
apple_mona | 菜鸟二级 |园豆:333 | 2015-05-27 17:10

谢谢,是这样的,我用其他的函数替代完成了这个功能。

乐水悠悠 | 园豆:192 (初学一级) | 2015-06-05 16:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册