java.sql.SQLException: ORA-06550

Когато се опитвам да изпълня този sql израз, получавам изключение като-

java.sql.SQLException: ORA-06550: line 1, column 429:
PLS-00103: Encountered the symbol "/" The symbol "/" was ignored.

Това е долният sql низ, който изпълнявам- Има ли нещо нередно с този sql? Ще провери дали има таблица или не, ако е там, няма да създаде таблица и ако я няма, ще създаде таблица.

    public static final String CREATE1 = "DECLARE " +
"t_count INTEGER; " +
"v_sql VARCHAR2(1000) := 'create table " +DATABASE_TABLE + " ( " +
"(ID number(10,0), " +
"CGUID VARCHAR(255), " + 
"PGUID VARCHAR(255), " + 
"SGUID VARCHAR(255), " + 
"USERID VARCHAR(255), " +
"ULOC VARCHAR(255), " +
"SLOC VARCHAR(255), " +
"PLOC VARCHAR(255), " +
"ALOC VARCHAR(255), " +
"SITEID VARCHAR(255), " +
"PRIMARY KEY ( ID ))'; " +
"BEGIN " +
"SELECT COUNT(*) " +
"INTO t_count " +
"FROM user_tables " +
"WHERE table_name = '" +DATABASE_TABLE + "'; " +

"IF t_count = 0 THEN " +
"EXECUTE IMMEDIATE v_sql; " +
"END IF; " +
"END; ";

Той се отпечатва на конзолата като-

DECLARE t_count INTEGER; v_sql VARCHAR2(1000) := 'create table LnPData((ID number(10,0), CGUID VARCHAR(255), PGUID VARCHAR(255), SGUID VARCHAR(255), USERID VARCHAR(255), ULOC VARCHAR(255), SLOC VARCHAR(255), PLOC VARCHAR(255), ALOC VARCHAR(255), SITEID VARCHAR(255), PRIMARY KEY ( ID ))'; BEGIN SELECT COUNT(*) INTO t_count FROM user_tables WHERE table_name = 'LnPData'; IF t_count = 0 THEN EXECUTE IMMEDIATE v_sql; END IF; END; 

person AKIWEB    schedule 27.05.2012    source източник
comment
Защо имате '/' в края на заявката?   -  person Himanshu Yadav    schedule 27.05.2012
comment
@HimanshuYadav, току-що актуализирах въпроса си, получавам още едно изключение след премахването на това /.   -  person AKIWEB    schedule 27.05.2012
comment
Когато премахнахте /, вие премахнахте и ;. Можете ли да опитате с ;?   -  person Nivas    schedule 27.05.2012
comment
Разпечатайте действителния низ на заявката. Ако можете да видите какъв е проблемът с действителната заявка, е по-лесно да коригирате кода, който я създава.   -  person Stephen C    schedule 27.05.2012
comment
@StephenC, току-що актуализирах въпроса с низа, който се отпечатва на конзолата.   -  person AKIWEB    schedule 27.05.2012


Отговори (1)


Премахване ';' след оператора END IF и го стартирайте отново.

person Himanshu Yadav    schedule 27.05.2012
comment
Получих тази грешка след премахване на ; от END IF- java.sql.SQLException: ORA-06550: line 1, column 426: PLS-00103: Encountered the symbol "END" when expecting one of the following: ; - person AKIWEB; 27.05.2012
comment
Това беше коригирано в друга нишка - stackoverflow.com/questions/ 10771189/ - person AKIWEB; 27.05.2012