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:
我已经在线查看了各种解决方案,但他们仍无法帮助解决问题。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
实际上,这个特殊错误不是因为数据库而是因为我正在处理的平台。 我必须在平台中显式指定sql块分隔符才能提交上述语句。
答案 1 :(得分:0)
当我遇到这个问题时,我们发现在&#39; /&#39;之后的最后一行有一个额外的字符(我认为是^ Z)。一旦删除,该块对我来说运行良好。 DBA发现了这个问题,但我不记得他正在使用哪种软件向他展示这个角色。
你可以尝试删除/之后的每一行,看看是否有帮助。