Statement.execute () возвращает ошибку с косой чертой в конце PL / SQL - PullRequest
3 голосов
/ 18 февраля 2010

При выполнении pl / sql im получаю ошибку:

ORA-06550: line 1, column 316: PLS-00103: Encountered the symbol "/" The symbol "/" was ignored. 

Пример PLSQL:

DECLARE
   SQL1   VARCHAR2 (1500);
   SQL2   VARCHAR2 (1500);
BEGIN
   SQL1   := 'INSERT INTO das_html_caption VALUES (''test_test'')';
   SQL2   := 'DELETE FROM das_html_caption where wording = ''test_test''';

   EXECUTE IMMEDIATE SQL2;

   EXECUTE IMMEDIATE SQL1;

   EXECUTE IMMEDIATE SQL2;

   COMMIT;
END;
/

Java:

Statement statement = dbConnection.createStatement();
ResultSet rs = null;
boolean ret = statement.execute( sql.getValue() );

это правильная ошибка?или я делаю что-то не так?

Спасибо

Ответы [ 2 ]

8 голосов
/ 18 февраля 2010

Косая черта - это способ выполнения анонимного блока в интерактивной среде, такой как SQL * Plus. Если вы выполняете этот блок с помощью вызова из Java, вам не нужен завершающий слеш.

2 голосов
/ 18 февраля 2010

Найден ответ. Пришлось сделать более сложный запрос к гуглу:)

Как видно из сообщения, компилятор не хочет встречать символ «/», просто удалите его. Так просто. Позволь мне объяснить. При использовании sqlplus или SQL лист в sqldev, вы делаете хорошо добавляя ваши блоки PL / SQL с косая черта Однако при использовании редактор процедур (родной для sqldev), Вы должны будете удалить это. Не знаю почему они сделали этот набор правил, но пока они не расслабят их, нам придется подчиняться им; -)

http://forums.oracle.com/forums/thread.jspa?threadID=519670

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...