Поделиться через


Фрагменты запросов

Часто проще дублировать предыдущие работы и изменять, чем писать что-то с нуля. Это особенно верно для распространенных операторов JOIN или сложных CASE выражений. По мере роста списка запросов может быть трудно помнить, какие запросы содержат нужную инструкцию. Вы также можете создать фрагмент запроса, содержащий точку вставки с текстом заполнителя, который пользователь может заменить во время выполнения.

Фрагменты запросов — это сегменты запросов, которые можно совместно использовать и активировать с помощью автозаполнения. Используйте фрагменты запросов для:

  • Частые инструкции JOIN
  • Сложные предложения, такие как WITH или CASE.
  • Условное форматирование

Ниже приведены примеры фрагментов кода:

--Simple snippet
WHERE fare_amount > 100

--Snippet with an insertion point for a value to be provided at runtime
WHERE fare_amount > ${1:value}

--Snippet with an insertion point for a value to be provided at runtime and containing a default value
WHERE fare_amount > ${1:100}

--Snippet with multiple insertion points
WHERE fare_amount > ${2:min_value} AND fare_amount < ${1:max_value} AND trip_distance < ${0:max_distance}

Создание фрагментов запросов

Вы можете создать фрагмент запроса из редакторов SQL, записных книжек или файлов. Выполните следующие действия.

  1. В редакторе SQL щелкните меню кебаб.

    В новом редакторе SQL щелкните меню кебаб, а затем щелкните "Вид".

    В редакторах записных книжек или файлов нажмите кнопку "Вид".

  2. Щелкните фрагменты запросов.

  3. Щелкните Создать фрагмент запроса.

  4. В поле «Заменить» введите имя фрагмента. Это имя будет использоваться при написании запроса, использующего фрагмент кода.

  5. (Необязательно) Введите описание.

  6. В поле Фрагмент введите фрагмент.

  7. Щелкните Создать.

    фрагмент запроса

Использование фрагмента запроса

Фрагменты запросов можно использовать в любом SQL-запросе. Вы можете получить доступ к фрагментам запросов в редакторе SQL, ячейках SQL записной книжки, файлах SQL и запросах панели мониторинга AI/BI.

Ниже приведен пример простого запроса, с помощью которого можно использовать эти фрагменты запросов:

--Simple query
SELECT * FROM samples.nyctaxi.trips

Выполните следующие действия, чтобы использовать фрагмент запроса с этим запросом:

  1. Откройте редактор SQL .

  2. Введите запрос в области запросов редактора SQL.

  3. Начните вводить имя фрагмента запроса, а затем выберите его в окне автозаполнения.

    В редакторе SQL можно также вручную открыть окно Control+Space и выбрать фрагмент кода.

    запрос выбор фрагмента

  4. Выполните запрос с условием WHERE из фрагмента запроса.

    запрос с фрагментом кода, используемого в запросе

Работа с точками вставки в фрагментах запросов

Вы назначаете точки вставки путем упаковки целочисленного порядка табуляции с одним знаком доллара и фигурными скобками ${}. Заполнитель текста, предшествующий двоеточию :, является необязательным, но полезен для пользователей, незнакомых с вашим фрагментом. В ранее созданных фрагментах запроса ${1:value} - это точка вставки с заполнителем, а ${1:100} - точка вставки со значением по умолчанию для заполнителя, которое можно изменить во время выполнения. Когда Databricks SQL генерирует фрагмент кода, знак $ доллара и фигурные скобки {} удаляются, а слово value или значение по умолчанию 100 подсвечено для замены.

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

Заметка

Точка ввода с нулевым ${0} всегда является последним элементом в порядке табуляции.

Выполните следующие действия, чтобы использовать фрагменты запроса для точки вставки с запросом:

  1. Откройте редактор SQL .

  2. Введите запрос в области запросов редактора SQL.

  3. Введите первые три буквы имени фрагмента запроса, а затем выберите фрагмент запроса с точкой вставки без значения по умолчанию.

    Фрагмент запроса добавляется в запрос, а курсор вставки текста переходит к точке вставки.

    Запрос через фрагмент точки вставки без значения по умолчанию

  4. Введите значение предложения WHERE, например 200.

  5. При необходимости запустите запрос с WHERE предложением из фрагмента запроса.

  6. Повторите предыдущие шаги, но выберите фрагмент запроса, имеющий точку вставки и использующий значение по умолчанию.

    Запрос с использованием фрагмента запроса точки вставки, содержащего значение по умолчанию

  7. Повторите предыдущие шаги, но выберите фрагмент запроса с несколькими точками вставки.

    запрос с использованием фрагмента запроса с точками вставки, содержащего несколько точек вставки

  8. Введите значение для первой точки вставки, перейдите к следующей точке вставки и введите значение, а затем перейдите к конечной точке вставки и введите значение.