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


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

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

Новости

Рыбалка в Териберке
На марте туда пожалуй под закрытие дороги, становилось снять номер в мотельчике на Очередном шоссе. Галопом вылетели из строя, успели как раз к слову движения колонны. С уловкой в общем било, один-единственный

Футболка рыбалка
Главная   /  Мой блог ← Футболки логотипом armin van buuren   |  В начало  |  Футболка the pirate bay → Качественные футболка рыбалка |

Клевое место рыбалка
Мы предлагаем рыбалку и отдых в уникальном месте Москвы, национальном парке "Лосиный остров"! Нижний пруд Очищенная береговая территория идеально подходит для ловли на удочку, штекер и удобного

Светлые горы рыбалка
«Светлые горы» в Подмосковье - одно из мест, где москвичи, да и гости, могут провести время в свое удовольствие и одновременно с пользой. База расположена неподалеку от столицы. Не нужно далеко

Рыбалка на пахре
По моим наблюдениям, как двадцать лет назад, так и сейчас Пахра вполне способна одарить рыболова хорошим уловом плотвы и подлещика, а если особо повезет, то и знаменитым пахринским карасем, который тянет

Рыбалка в савельево
Ленинградское шоссе проходит по живописным местам. К ним относятся водные просторы в Карелии, живописные заводи в Завидово. Однако поехать туда, чтобы порыбачить, может не каждый. Это связано со значительной

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

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

Русская рыбалка 3
Игра русская рыбалка 3 - это последняя официальная версия игры, в которой есть одиночный режим. За эту игру не надо платить никаких денег – она абсолютно бесплатна, просто скачиваете ее себе на компьютер

Триал русская рыбалка
триал русская рыбалка Уважаемые рыбаки и гости, фото отчёт за 31.08.2017 года, было произведено зарыбление водоема карпом, общим весом 700 кг, навеска 0.7-1 кг. Всем успехов.

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

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