【问题标题】:oracle plsql error while compiling package spec编译包规范时出现oracle plsql错误
【发布时间】:2016-09-11 17:11:35
【问题描述】:
create or replace
PACKAGE test_pkg 
IS
PROCEDURE abc_requests (p_xys IN NUMBER);                      
end test_pkg; 

您好,我的过程名称是 abc_requests,只有一个参数。 以下是我的错误信息,请帮忙。

Error message:

Error(4,11): PLS-00103: Encountered the symbol " " 
when expecting one of the following:     
 <an identifier> 
 <a double-quoted delimited-identifier>    
 current delete exists prior 

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    您在语句中使用了不间断的空格,而不是普通空格。如果您从页面复制并粘贴上面显示的代码,它将起作用。如果您编辑问题并复制原始代码,则不会。

    您可以使用dump() 函数(或像样的文本编辑器)查看代码实际包含的内容:

    select dump('PROCEDURE abc_requests (p_xys IN NUMBER);',16) from dual;
    
    DUMP('PROCEDURE ABC_REQUESTS(P_XYS IN NUMBER);',16)                                                                                              
    --------------------------------------------------------------------------------------------------------------------------------------------------
    Typ=96 Len=44: 50,52,4f,43,45,44,55,52,45,c2,a0,61,62,63,5f,72,65,71,75,65,73,74,73,20,28,70,5f,78,79,73,c2,a0,49,4e,c2,a0,4e,55,4d,42,45,52,29,3b
                                              ^^^^^                                                          ^^^^^       ^^^^^
    

    我已经突出显示了两个有问题的字符,它们是 multibye non-break space(在 UTF-8 中)。

    重新输入您的代码,或从问题中复制并粘贴,或将不间断空格更改为普通空格。

    【讨论】:

    • @newbie:作为补充 - 不要使用 Word 或任何其他文字处理软件来创建代码。要么使用记事本之类的东西,要么找一个像样的程序员编辑器。这些天我使用jEdit(它的主要优点是它基于Java,因此可以在大多数系统上运行),但是那里有很多这样的编辑器。祝你好运。
    • @alex poole 非常感谢您的帮助。是否有您知道的任何在线免费文本编辑器。我的问题还没有解决。
    • 为什么在线?正如 Bob 所说,使用普通的纯文本编辑器; Notepad++、vim、emacs等。你在哪里运行代码? SQL Developer IDE 或 Toad 或其他包括文本编辑。只是不要使用 Office 或其他会更改您键入内容的文字处理器。如果问题没有解决,请重新输入您之前复制和粘贴的任何内容...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    相关资源
    最近更新 更多