#oracle-sqldeveloper
#oracle-sqldeveloper
Вопрос:
Я пытаюсь выяснить, есть ли способ сделать отступ в коде следующим образом:
SELECT e.employee_id,
COUNT(DISTINCT e.departmetn_id)
OVER (PARTITION BY e.manager_id)
FROM employees e
WHERE e.employee_id in (100, 110, 150)
AND e.department_id = 50
OR e.employee_id not in (100, 110, 150)
ORDER BY e.employee_id
У меня была бы легкая жизнь, если бы я мог иметь столбец пробелов между моими select, from и where (например, правое поле) и остальной частью инструкции. Для меня это кажется более понятным. Я на самом деле пытаюсь сCtrl F7, но результат для меня не такой привлекательный:
SELECT e.employee_id,
COUNT (DISTINCT
e.departmetn_id
) OVER (PARTITION BY
e.manager_id
)
FROM employees e
WHERE
e.employee_id IN (
100,110,150
)
AND
e.department_id = 50
OR
e.employee_id NOT IN (
100,110,150
)
ORDER BY e.employee_id;
Я надеюсь быть максимально понятным. Если Ctrl F7 способ является стандартным, я просто попытаюсь привыкнуть к нему.
Хорошего дня!
Ответ №1:
ДА.
Я взял ваш код — и отформатировал, используя опцию выравнивания ключевых слов по правому краю.
Перед —
После — с указанием предпочтений (вам нужна последняя версия, мы добавили это когда-нибудь на временной шкале версии 18.x)
Или вот форматированный текст
SELECT e.employee_id,
COUNT(DISTINCT e.departmetn_id) OVER(
PARTITION BY e.manager_id
)
FROM employees e
WHERE e.employee_id IN (
100,
110,
150
)
AND e.department_id = 50
OR e.employee_id NOT IN (
100,
110,
150
)
ORDER BY e.employee_id;
Мы сохраняем выравнивание ключевых слов по первому ключевому слову, поэтому в ЗАКАЗЕ или ГРУППЕ используется ‘ORDER’, а не ‘BY’.