#oracle-sqldeveloper
#oracle-sqldeveloper
Вопрос:
В настоящее время мне нужно либо выбрать запрос, выделив его, либо использовать ; разделитель. Основываясь на моих исследованиях, кажется, мне нужно установить sqlterminator false. Однако в Oracle 11g я получаю следующую ошибку:
"set SQLTERMINATOR off" is Obsolete.
Комментарии:
1. Что плохого в использовании
;
?2. Я использовал другие инструменты, такие как toad, у которых нет такого требования. Итак, я немного застрял в этой привычке.
Ответ №1:
Если у вас есть только один запрос, вам не нужно завершать его специальным символом (по умолчанию используется точка с запятой), поскольку анализатор сможет определить начало и конец запроса. Поскольку пробелы разрешены в любом месте запроса, если у вас на рабочем листе более одного запроса, анализатор не сможет различить их без ручного выбора запроса, который вы хотите выполнить, или завершения специальным символом.
Точки с запятой — это здорово, и я настоятельно рекомендую использовать их для завершения всех ваших запросов Oracle.
Комментарии:
1. Не согласен. Почему нельзя использовать символ новой строки для различения нескольких запросов, как это делает toad?
2. Все языки программирования имеют line terminator и упорно применяют правила синтаксиса. Не слишком ли много я прошу? (Символ новой строки — это пробел, который игнорируется синтаксическим анализатором).
3. Для той же базы данных (oracle) toad позволяет использовать символ новой строки в качестве разделителя. Я пытаюсь использовать аналогичное поведение из другого инструмента pl sql developer.