2016-01-21 3 views
0

Я переключаюсь с SQLDeveloper на DBeaver в своей работе с базой данных Oracle 10G, имею Oracle instantclient для точной версии базы данных.DBeaver простой запрос ORA-00911 недопустимый символ

Я не создаю скрипты, просто кучу запросов, таких как select, update. У меня была их коллекция, каждая на одной или нескольких строках, с точкой с запятой в конце, а затем две тире и комментарий. Несколько операторов строки для визуального разделения, разделенных линиями многих тире.

SQLDeveloper хорошо обработал такую ​​систему, CTRL + Enter выполнил только эту строку (или группу из последнего комментария или точки с запятой до следующей точки с запятой), проигнорировал комментарий после или раньше. Поэтому я скопировал всю коллекцию из главного окна одной программы в другую (редактор SQL). Результаты использования являются странными.

Пример в новой вкладке Редактор SQL (имена таблиц изменились, так что игнорировать, если я получил некоторые зарезервированные слова):

select * from FILE_MOVEMENT where MOVEMENT_STATUS != 'MOVED' and LAST_UPDATE > sysdate -10 order by LAST_UPDATE desc;--My comment, explanation 
select * from ACTIVITY where ACTIVITY_TYPE = 'GENERATOR' and STATUS = 'CREATED' and STARTED > sysdate -10 order by STARTED desc;--My other comment 

Первый выполняется, как ожидалось с CTRL + Enter, строка начать мигать с одного треугольника и в журнале выполнения отображается только моя команда до точки с запятой. Но когда курсор помещается во вторую строку, а затем CTRL + Enter, я получаю треугольники перед обеими линиями, после первой строки с запятой до окончания второй строки, включая выбор обоих комментариев, и всплывает ORA-00911. Выбранный текст отображается в журнале выполнения.

Если я поместил пустую строку между ними, тогда вся вторая строка будет выбрана и зарегистрирована, и появится такая же ошибка.

Что делать, чтобы прекратить такое поведение и сделать вторую строку так же, как и первая, без предыдущего и следующего комментариев? Есть ли какой-либо язык или конец строки или параметры комментариев в программе DBeaver, которую я пропустил?

+0

HeidiSQL имеет подобное раздражающее поведение. Можете ли вы сначала сообщить нам, что каждый запрос будет выполняться независимо, по одному за раз? –

+1

Постарайтесь не размещать комментарии после запятой. Поместите комментарии перед заявлениями. Я не знаю, как DBeaver ведет себя с ними, но я знаю, по крайней мере, еще один инструмент, который не может правильно выполнять такие заявления. – nop77svk

+0

Первый даст все движения, которые не закончились с правильным статусом и временем с последним изменением статуса. Поэтому я вижу, есть ли движения, о которых мне нужно что-то сделать. Второй из них фактически такой же, но для другого вида деятельности, где статус, созданный, должен был быть изменен на законченный. Поэтому я могу взглянуть на них. – uldics

ответ

0

Несколько последних версий DBeaver действуют приемлемо. Несмотря на то, что комментарий предыдущей строки появляется в заявлении, которое должно быть выполнено, оно действует так, как ожидалось. Правильный оператор выполняется, журнал показывает комментарий как начало запроса, но он игнорируется. С этим я могу жить.

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