【发布时间】:2013-07-19 14:16:34
【问题描述】:
找不到任何错误,但它编译时出错。有人看到我看不见的东西吗?
CREATE OR REPLACE FUNCTION myusername.fun_hr_format_phone (tmp in VARCHAR2) RETURN VARCHAR2
IS tmpVar VARCHAR2(12);
BEGIN
SELECT DECODE(
LENGTH(tmp),
10, SUBSTR(tmp,1,3) || '-' || SUBSTR(tmp,4,3) || '-' || SUBSTR(tmp,7,4),
7, SUBSTR(tmp,1,3) || '-' || SUBSTR(tmp,4,4), tmp
) INTO tmpVar FROM dual;
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN OTHERS THEN RAISE;
END;
/
【问题讨论】:
-
@user2599766:代码看起来很完美,您使用的是哪个工具?SQLFIDDLE
-
键入
show errors以显示语法错误并编辑您的帖子以包含错误。您的when others then raise子句毫无意义,应该删除,但这不会导致编译错误。 -
在 TOAD 中工作,错误是:PLS-00103:在预期以下情况之一时遇到符号“文件结尾”:begin function package pragma procedure subtype type use
形成当前光标 -
奇怪的是,它编译了另外 2 个,它只是我的 toad 实例导致了问题......我使用的是 TOAD 版本 12.0.0.61