【问题标题】:ORA-06550 : Oracle SqlPlusORA-06550:Oracle SqlPlus
【发布时间】:2014-10-16 09:21:11
【问题描述】:
declare
doesExists number:=0;
begin
select count(1) into doesExists from tab where tname = 'EOSS2G_GREEN_RLDEP';
if doesExists = 1 
then
    execute immediate 'drop table EOSS2G_GREEN_RLDEP';
    --execute immediate 'create table EOSS2G_GREEN_RLDEP as select * from EOSS2G_RLDEP';
else
    execute immediate 'create table EOSS2G_GREEN_RLDEP as select * from EOSS2G_RLDEP';
end if;
end;
/

我得到的错误信息是:

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

& = - + ; < / > at in is mod remainder not rem
<> or != or ~= >= <= <> and or like like2
like4 likec between || multiset member submultiset
Position: 28, Line: 2, Column: 21
SQL: declare
doesExists number:=0
^-- error here -- ORA-06550: line 2, column 21:

我已经在网上查看了各种解决方案,但它们仍然没有帮助解决问题。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    当我遇到这个问题时,我们发现在“/”之后的最后一行有一个额外的字符(我认为是 ^Z)。删除后,该块对我来说运行良好。 DBA 发现了这个问题,但我不记得他用什么软件向他展示了这个角色。

    您可以尝试删除 / 之后的每一行,看看是否有帮助。

    【讨论】:

      【解决方案2】:

      实际上,这个特定的错误不是因为数据库,而是因为我正在使用的平台。 为了提交上述语句,我必须在平台中明确指定 sql 块分隔符。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-22
        • 1970-01-01
        • 1970-01-01
        • 2015-08-24
        相关资源
        最近更新 更多