Фрагменты запросов
Часто бывает проще продублировать предшествующую работу и изменить ее, чем писать что-нибудь с нуля. Это особенно справедливо для распространенных инструкций 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
из фрагмента запроса.Повторите предыдущие шаги, но выберите фрагмент запроса с точкой вставки, используя значение по умолчанию.
Повторите предыдущие шаги, но выберите фрагмент запроса с несколькими точками вставки.
Введите значение для первой точки вставки, перейдите к следующей точке вставки и введите значение, а затем перейдите к конечной точке вставки и введите значение.