Отступ и форматирование кода SQL в Oracle SQL Developer - PullRequest
2 голосов
/ 29 марта 2019

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

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 , но результат не так привлекателен для меня:

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 Ответ

2 голосов
/ 29 марта 2019

Да.

Я взял ваш код - и отформатировал, используя правильную опцию выравнивания ключевых слов.

До -

enter image description here

После - с указанием предпочтения (вам нужна последняя версия, мы добавили ее когда-нибудь в шкалу времени версии 18.x)

enter image description here

Или вот форматированный текст

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» в ORDER или GROUP.

...