2014-10-16 4 views
0
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; 
/

сообщение об ошибке, я получаю:ORA-06550: Oracle Sqlplus

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

Фактически эта конкретная ошибка не из-за базы данных, а с платформы, через которую я работаю. Я должен явно указать разделитель блоков sql в платформе, чтобы зафиксировать вышеуказанные утверждения.

0

Когда я столкнулся с этой проблемой, мы обнаружили, что на последней строке после символа '/' появился дополнительный символ (я думаю,^^). Как только это было удалено, блок работал отлично для меня. DBA нашел проблему, но я не помню, какое программное обеспечение он использовал, что показало ему характер.

Вы можете попробовать удалить каждую строку после/и посмотреть, поможет ли это.

Смежные вопросы