Мой ответ будет аналогичен принятому ответу John Sansom answered Feb 6 '09 at 11:05
. Тем не менее, я продемонстрирую некоторые варианты форматирования с использованием плагина SQLInForm в NOTEPAD ++ , в отличие от его ответа с помощью SQL Prompt от Red Gate.
Плагин SQLInForm имеет 5 различных профилей, которые вы можете настроить. В профиле доступно множество настроек как в бесплатной, так и в платной версиях. Полный список приведен ниже, и вы можете увидеть их plugin-help-general-options онлайн.
Вместо того, чтобы рассуждать о моих предпочтениях, я подумал, что было бы полезно представить доступные параметры SQLInForm. Некоторые из моих предпочтений также отмечены ниже. В конце моего поста приведен отформатированный код SQL, использованный в оригинальном посте (original
VS format1
VS format2
).
Прочтите здесь другие ответы ... Кажется, я в меньшинстве в паре вещей. Мне нравится leading commas
( Короткое видео здесь ) - IMO, намного легче читать, когда выбирается новое поле. А также мне нравится мой Column1 with linebreak
, а не рядом с SELECT.
Вот краткий обзор с некоторыми из моих замечаний по предпочтениям, с учетом оператора SELECT. Я бы добавил скриншоты всех 13 разделов; Но это много скриншотов, и я просто рекомендую вам бесплатную версию - сделайте несколько скриншотов и протестируйте элементы управления форматом. Я скоро опробую Pro Edition; Но, основываясь на опциях, похоже, что это будет действительно полезно и всего за 20 долларов.
SQLInForm Notepadd ++: параметры и предпочтения
1. Общее (бесплатно)
БД: любой SQL, DB2 / UDB, Oracle, MSAccess, SQL Server, Sybase, MYSQL,
PostgreSQL, Informix, Teradata, Netezza SQL
[Умный отступ] = ЛОЖЬ
2. Цвета (бесплатно)
3. Ключевые слова (PRO)
[Upper / LowerCase]> Ключевые слова
4. Переводы строк> Списки (бесплатно)
[До запятой] = ИСТИНА 5
[Переместить запятую на 2 столбца влево] = ЛОЖЬ
5. Разрывы строк> Выбрать (PRO)
[JOIN> После JOIN] = FALSE
[JOIN> До ВКЛ.] = ЛОЖЬ
(без изменений) -> [JOIN> Отступ JOIN]; [JOIN> После ВКЛ]
6. Разрывы строк> Ins / Upd / Del (PRO)
7. Разрывы строк> Условия (PRO)
CASE Statement -> [WHEN], [THEN], [ELSE]… конечно, хотят играть
с этими настройками и выберите хороший
8. Выравнивание (PRO)
(без изменений) -> [JOIN> Отступ JOIN]; [JOIN> После ВКЛ]
9. Пробелы (PRO)
(изменить?) Пустые строки [Удалить все] = ИСТИНА; [Сохранить все]; [Keep One]
10. Комментарии (PRO)
(изменить?) Строка и блок -> [Строка до / после блока
Комментарии] = TRUE; [Изменить комментарии строки в блок]; [Блок в линию]
11. Сохраненный Proc (PRO)
12. Продвинутый (PRO)
(может быть полезно) Извлечь SQL из программного кода -> [ExtractSQL]
13. Лицензия
Код SQL
Исходный формат запроса.
select
ST.ColumnName1,
JT.ColumnName2,
SJT.ColumnName3
from
SourceTable ST
inner join JoinTable JT
on JT.SourceTableID = ST.SourceTableID
inner join SecondJoinTable SJT
on ST.SourceTableID = SJT.SourceTableID
and JT.Column3 = SJT.Column4
where
ST.SourceTableID = X
and JT.ColumnName3 = Y
ПРЕДПОЧТИТЕЛЬНЫЙ ФОРМАТ КОНВЕРСИИ (опция № 1: ПРИСОЕДИНИТЬСЯ без разрыва строки)
SELECT
ST.ColumnName1
, JT.ColumnName2
, SJT.ColumnName3
FROM
SourceTable ST
inner join JoinTable JT
on JT.SourceTableID = ST.SourceTableID
inner join SecondJoinTable SJT
on ST.SourceTableID = SJT.SourceTableID
and JT.Column3 = SJT.Column4
WHERE
ST.SourceTableID = X
and JT.ColumnName3 = Y
ПРЕДПОЧТИТЕЛЬНЫЙ ФОРМАТ КОНВЕРСИИ (опция № 2: СОЕДИНЕНИЕ с разрывом строки)
SELECT
ST.ColumnName1
, JT.ColumnName2
, SJT.ColumnName3
FROM
SourceTable ST
inner join
JoinTable JT
on JT.SourceTableID = ST.SourceTableID
inner join
SecondJoinTable SJT
on ST.SourceTableID = SJT.SourceTableID
and JT.Column3 = SJT.Column4
WHERE
ST.SourceTableID = X
and JT.ColumnName3 = Y
Надеюсь, это поможет.