Фрагменты запросов
Часто проще дублировать предыдущие работы и изменять, чем писать что-то с нуля. Это особенно верно для распространенных операторов 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-запроса щелкните Управление.
Щелкните Создать фрагмент запроса.
В поле «Заменить» введите имя фрагмента. Вы будете использовать это имя при написании запроса, который использует этот фрагмент.
При необходимости введите описание.
В поле Фрагмент введите фрагмент.
Щелкните Создать.
фрагмент запроса
Использование фрагмента запроса в запросе
Ниже приведен пример простого запроса, с помощью которого можно использовать эти фрагменты запросов:
--Simple query
SELECT * FROM samples.nyctaxi.trips
Выполните следующие действия, чтобы использовать фрагмент запроса с этим запросом:
Откройте редактор SQL .
Введите запрос в области запросов редактора SQL.
Введите первые 3 буквы имени фрагмента кода и выберите фрагмент из окна автозаполнения. Вы также можете вручную открыть окно, нажав
Option
+Space
и выбрав фрагмент кода.запрос
Выполните запрос с условием
WHERE
из фрагмента запроса.запрос
Работа с точками вставки в фрагментах запросов
Вы назначаете точки вставки путем упаковки целочисленного порядка табуляции с одним знаком доллара и фигурными скобками ${}
. Заполнитель текста, предшествующий двоеточию :
, является необязательным, но полезен для пользователей, незнакомых с вашим фрагментом. В фрагментах запроса с созданными ранее точками вставки ${1:value}
является точкой вставки с заполнителем и ${1:100}
— это точка вставки со значением по умолчанию для заполнителя, который можно переопределить во время выполнения. Когда Databricks SQL отображает фрагмент кода, знак доллара $
и фигурные скобки {}
удаляются, а слово value
или значение по умолчанию 100
выделено для замены.
При наличии нескольких точек вставки курсор переходит к первой точке вставки, чтобы запросить необходимое значение. При нажатии Tab
курсор переходит к следующей точке вставки для следующего значения. При повторном нажатии Tab
курсор перейдет к следующей точке вставки, пока не достигнет последней точки вставки.
Заметка
Точка ввода с нулевым ${0}
всегда является последним элементом в порядке табуляции.
Выполните следующие действия, чтобы использовать фрагменты запроса для точки вставки с запросом:
Откройте редактор SQL .
Введите запрос в области запросов редактора SQL.
Введите первые 3 буквы имени фрагмента запроса, а затем выберите фрагмент запроса с точкой вставки без значения по умолчанию.
Фрагмент запроса добавляется в запрос, и курсор для вставки текста переходит к позиции вставки.
Введите значение предложения
WHERE
, например200
.При необходимости выполните запрос с условием
WHERE
из фрагмента запроса.Повторите предыдущие шаги, но выберите фрагмент запроса с точкой вставки, используя значение по умолчанию.
Повторите предыдущие шаги, но выберите фрагмент запроса с несколькими точками вставки.
Введите значение для первой точки вставки, перейдите к следующей точке вставки и введите значение, а затем перейдите к конечной точке вставки и введите значение.