Городской портал города Оленегорск


SQLcl: новый претендент на корону SQL Plus

  1. кличка
  2. LOGIN.SQL
  3. SQLFORMAT
  4. МОСТ
  5. CTAS
  6. ИНФО / ИНФО +
  7. ПОМОГИТЕ
  8. Использование SQLcl
  9. Заключение

Я тот сварливый старик, который приходит на твою вечеринку и сидит в углу с лицом, похожим на собачью заднюю часть. Вы знаете, тот парень, который ненавидит все новое: Адель? Она не Уитни Хьюстон! Блю рей? Это не так хорошо, как Betamax! ЖАБА? Это не так хорошо, как SQL Plus!

Я преувеличиваю - но только немного. Если в вашу работу не входит запуск большого количества сценариев sql или вы застряли на каком-либо серверном терминале, никому на самом деле не нужно использовать SQL Plus в наши дни - и, возможно, даже тогда. Однако у каждой команды разработчиков есть свой упрямый динозавр, который, как и я, любит SQL Plus и до сих пор использует его при каждой возможности. Очевидно, я использую TOAD и SQL Developer для большинства вещей - я не полный идиот - но я испытываю огромную привязанность к SQL Plus, и да, я чувствовал, что потерял друга, когда sqlplusw.exe умер с 11g ,

Oracle сейчас пытается заполнить эту дыру в наших сердцах новым продуктом, SQLcl. (Cl обозначает «командную строку».) Это интерфейс командной строки sql, который построен на основе механизма сценариев SQL Developer. Это новое - настолько новое, что оно все еще находится в стадии ранней адоптации - и легкое - всего около 12 Мб ( Скачать здесь ). И я жил с этим последние несколько дней.

Первая мысль: мне не нравится название SQLcl. Ранее он назывался SDSql, что хуже, и, по-видимому, SQL * Plus ++, который звучит так, будто он слишком старается быть крутым. Я помню десять лет назад, когда SQL Developer находился на стадии EA; это называлось Project Raptor. Почему у этого тоже не может быть крутого имени?

Но это небольшая хитрость. Загрузка - это архивированный инструмент (bin \ sql.exe), для работы которого требуется JRE (что неудивительно, поскольку для работы SQL Developer вам также нужна Java). Он с радостью прочитает ваш tnsnames.ora для подключения к вашим базам данных (если у вас есть переменная окружения TNS_ADMIN); однако вы также можете использовать синтаксис EZConnect и просто передать комбинацию host: port / service_name со своим именем пользователя и паролем.

На первый взгляд, SQLcl очень похож на SQL Plus - достаточно похож, чтобы вы удивились, зачем беспокоиться
На первый взгляд, SQLcl очень похож на SQL Plus - достаточно похож, чтобы вы удивились, зачем беспокоиться. Какие дополнения он приносит на вечеринку?

Вот несколько команд, с которыми я играл.

кличка

Псевдоним является аналогом SQLcl фрагментов SQL Developer, которые, в случае, если вы с ним не знакомы, - это функциональность, которая позволяет вам сохранять фрагменты SQL или PL / SQL, которые вы регулярно используете, и легко вызывать их. Я никогда не забываю использовать Snippets в SQL Developer, но я действительно люблю Alias ​​в SQLcl. Вот как вы используете это:

Например, если вы постоянно выполняете запрос для перечисления сотрудников в различных отделах, вы можете создать следующий псевдоним:

псевдоним get_emps = SELECT emp.empno, emp.ename, emp.sal ОТ emp, dept WHERE emp.deptno = dept.deptno AND dept.dname =: dept ORDER BY 1;

Таким образом, если вам нужно перечислить всех сотрудников в отделе БУХГАЛТЕРСКОГО УЧЕТА, все, что вам нужно сделать, это набрать:

SQL> get_emps ACCOUNTING;

Причина, по которой мы можем передать 'ACCOUNTING', заключается в том, что мы настроили наш псевдоним для принятия имени отдела в качестве параметра ( и dname =: dept ).

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

Если ...

LOGIN.SQL

К счастью, как и SQL Plus, SQLcl позволяет автоматически запускать набор сценариев при запуске. Я использую свой login.sql для настройки таких мелочей, как приглашение sql, а также для настройки времени и производительности сервера.

В моем SQLcl login.sql я теперь также создаю свои псевдонимы. Таким образом, они всегда доступны для меня.

SQLFORMAT

Что-то еще, что я включаю в свой файл login.sql, - это вызов, устанавливающий формат sql.

С помощью вызова sqlformat SQLcl позволяет настроить вывод ваших запросов на экран.

Если у вас есть опыт работы с SQL Plus, вы будете знать, что если вы выберете слишком много столбцов в запросе, ваш набор результатов будет выглядеть беспорядочно. Однако в SQLcl вы можете попросить отформатировать результаты, чтобы они лучше подходили для вашей консоли:

установить sqlformat ansiconsole

установить sqlformat ansiconsole

Он работает так блестяще, что я удивлен, что это не настройка по умолчанию.

Однако многие другие параметры sqlformat так же полезны: csv, insert, xml, json. Иногда мне нужно скопировать данные из нашей среды Live в тестовую базу данных; установка sqlformat для вставки делает это проще всего в мире.

МОСТ

Или это должно быть вторая самая легкая вещь в мире? Потому что новая команда SQLcl BRIDGE стремится сделать это еще проще.

Bridge временно создает мост между схемами в двух базах данных, аналогично тому, как это делает ссылка на базу данных, и позволяет вам создать таблицу в вашей схеме на основе запроса, выполненного в другой схеме.

Синтаксис выглядит следующим образом:

BRIDGE <targetTableName> as "<jdbcURL>" << sqlQuery >>;

BRIDGE <targetTableName> as <jdbcURL> << sqlQuery >>;

CTAS

Очевидно, что мы не всегда хотим пересекать границы базы данных при копировании таблиц; часто мы просто хотим скопировать таблицу из той же схемы. Лично мне никогда не удавалось набирать текст «Создать таблицу х как выбрать» из y », но команда SQLcl не должна получать столько удовольствия, как я. Они включили новую команду CTAS, которая делает все это пустяком:

ctas <таблица> <new_table> ctas emp emp_copy;

Умная вещь о ctas (и я должен признать, что я сделал парню SQLcl медвежью услугу с моей лёгкостью о том, чтобы быть ленивым), это то, что он НЕ создает автоматически таблицу для вас, вместо этого он передает ddl на экран и в буфер , Затем вы можете либо запустить его как есть, либо набрать edit и внести изменения в него перед выполнением.

И затем, если вы хотите быть вдвойне уверены, что таблица создана правильно, вы всегда можете вызвать новую команду DDL для вывода ddl вашей таблицы.

ddl emp_copy;

ИНФО / ИНФО +

Однако вам, вероятно, лучше использовать новую команду INFO (она не совсем новая; она была частью SQL Developer для yonks, но я всегда ненавидел то, как ее результаты там отформатированы). Считай это скромной старой командой DESC на Red Bull. Вместо того, чтобы просто перечислять столбцы таблицы, Info также скажет вам, какие у нее индексы, какие ограничения и когда она была проанализирована в последний раз.

И если вам не хватает информации, вы можете позвонить info +, и SQLcl также предоставит вам статистическую информацию. Что, я думаю, делает информацию + эквивалентом desc на Red Bull и Haribo.

Что, я думаю, делает информацию + эквивалентом desc на Red Bull и Haribo

Кроме того, в отличие от DESC, вы можете использовать INFO, чтобы получить спецификацию отдельной упакованной процедуры или функции.

информация package.function;

ПОМОГИТЕ

По правде говоря, я скрываю лидерство, рассказывая о различных новых командах, которые поставляются с SQLcl. Набрав HELP, вы получите достаточно информации, чтобы начать работу.

Использование SQLcl

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

Возьмем, к примеру, завершение табуляции. В SQLcl вы можете начать вводить имя таблицы и, если вам скучно на полпути, вы можете нажать Tab, и он автоматически заполнит имя для вас. И если вашему поисковому запросу соответствует несколько имен таблиц, они будут перечислены для вас в нижней части экрана.

Еще более впечатляющей является команда HISTORY. SQLcl сохраняет последние 100 команд, которые были выполнены с текущим клиентом, независимо от того, являются ли они командами sql, pl / sql или SQL Plus или SQLcl, такими как info +.

История ввода выведет на экран нумерованный список этих команд. А если вы хотите запустить, скажем, 13-ю команду в списке? Все, что вам нужно сделать, это ввести историю 13, чтобы загрузить ее в буфер, готовый к запуску. Кроме того, вы можете пролистывать команды, используя стрелку вверх, как в SQL Plus.

Другая новая команда SQLcl - CD - выглядит действительно обыденно; Изменить каталог , в чем дело? Дело в том, что раньше мы никогда не могли менять каталоги из SQL Plus. Вы должны были запустить приложение из правильного каталога или направить его в ваши сценарии с полным путем. В SQLcl вы можете просто перейти в нужный каталог и покончить с этим.

Заключение

SQL Plus похож на Сталлоне в фильмах о Рокки; старый, уродливый и пьяный, он пережил всех претендентов. Это не полнофункциональная IDE, и она не стремится к ней; это делает простые вещи, и это делает их хорошо. Яркие выскочки, такие как iSqlplus, пытались сделать слишком много, но потерпели неудачу, умерли и исчезли.

Будет ли это судьбой SQLcl? Думаю, нет; Я надеюсь, что нет. Ему меньше года и он все еще немного грубоват. Тем не менее, разработчики, кажется, постоянно улучшают его, и это выигрывает от перекрестного обмена идеями с SQL Developer.

Я только начал использовать его как исследование для этой статьи, не думая о том, что он заменит SQL Plus навсегда. И поэтому вопрос в том, буду ли я продолжать использовать его, теперь, когда я печатаю последние слова статьи?

И ответ: да.

Рекомендации:
Это Джефф Смит (Менеджер по продукту Oracle SQL Developer)
Anti-Kyte: SQLCL - новый SQL * Plus

Похожие

Даша Жукова, по слухам, запускает новый журнал
>> С в отставку как редактор POP в ноябре прошлого года, новые усилия Даши Жуковой были в основном сфокусированы
ТАНЦЫ С ЗВЕЗДАМИ Макс и Вал Чмерковские объявляют новый тур!
После потрясающего первого тура «Макс и Вэл», самые горячие звезды ABC Dancing With The Stars вернулись со всем новым зрелищным шоу, и на этот раз семья выросла. Присоединиться к ним в их совершенно новом шоу Confidential
bingmaps
Как настроить новый браузер Firefox 57 Quantum в соответствии с вашими предпочтениями
Изображение: Mozilla Новый Mozilla Firefox 57 Quantum браузер был хорошо принят, с TechRepublic, утверждающим, что это " может занять позицию Chrome как короля браузеров
Каталог телевизоров Samsung 2019: вот каждый новый телевизор Samsung появится в 2019 году
Как выглядит 2019 для телевизоров Samsung? Крупнейший в мире производитель телевизоров, как всегда, стреляет по всем цилиндрам. Вы можете ожидать увидеть модульные телевизоры, новые 8K методы масштабирования, расширенное использование умного помощника Биксби и, как ни странно,
Написание приложений дополненной реальности с использованием JSARToolKit
В этой статье рассматриваются API, которые еще не полностью стандартизированы и все еще находятся в процессе разработки. Будьте осторожны при использовании экспериментальных API в ваших собственных проектах. Вступление Эта статья об использовании JSARToolKit
Как создать визуализацию дорожной карты продукта
... мости от потребностей проекта. Однако для достижения наилучших результатов вам необходимо включить в свою потоковую диаграмму следующие элементы: Таймфреймы Swimlanes Связывание данных Условное форматирование Сроки и дорожки визуально определяют, кто и когда отвечает за каждое задание. Они разъясняют роль каждой команды на протяжении всего проекта и улучшают передачу задач и коммуникацию. Связывание
Samsung Galaxy S8
Samsung задает темп для мощности смартфона в 2017 году с Galaxy S8 ($ 750 в тесте). Это лучшее Телефон практически во всем, что бы он ни делал, будь то подключение к Интернету, звонки, игры, фотосъемка

Комментарии

Только что купил новый телевизор: что теперь?

Блю рей?
ЖАБА?
Почему у этого тоже не может быть крутого имени?
Какие дополнения он приносит на вечеринку?
А если вы хотите запустить, скажем, 13-ю команду в списке?
Будет ли это судьбой SQLcl?
И поэтому вопрос в том, буду ли я продолжать использовать его, теперь, когда я печатаю последние слова статьи?

Новости

                                                                                                                                               ОЛЕНЕГОРСК 2010 - 2014                                                                                                 

создание сайта - Старт Икс