сервер sql #region


163

Чи можу я створити регіони в серверному редакторі sql (як #regionі #endregionв C #)?

Відповіді:


272

Не дуже, вибачте! Але ...

Додавання beginі end.. з коментарем beginстворює регіони, які виглядали б так ... трохи хок!

скріншот коду регіонального кінця

В іншому випадку ви можете лише розширити і згортати, ви просто не можете продиктувати, що слід розширювати і згортати. Не обійшлося і без сторонніх інструментів, таких як SSMS Tools Pack .


4
Переконайтеся, що у вас ввімкнено
конспект

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Хоча всі оператори Transact-SQL є дійсними в блоці BEGIN ... END, деякі оператори Transact-SQL не повинні групуватися в одну партію (блок операторів). Хтось може мені сказати, чому їх не слід групувати?
Яків Фан

1
Корисний злом, але не забудьте додати goпісля endзаяви, якщо ви хочете створити кілька регіонів / розділів.
маршЗахід

блискучий! Спасибі
пнів

Чудово! Якщо у вас є лише блок коментарів. Ви повинні додати щось, не коментуючи всередині. наприклад: print
inon

12

(Я розробник надбудови SSMSBoost для SSMS)

Нещодавно ми додали підтримку цього синтаксису до нашої надбудови SSMSBoost.

--#region [Optional Name]
--#endregion

Він також має можливість автоматично "розпізнавати" регіони при відкритті скриптів.


2
Це нормально, але не працює на льоту. Мені потрібно закрити і знову відкрити файл, щоб згортати новостворені регіони.
Мартін Каподічі

4
На панелі інструментів доступний варіант "регіони перерозподілу", доступний у меню SSMSBoost. Отже, не потрібно повторно відкривати файл.
Андрій Ранцевич,

На жаль, у цьому є помилка. Якщо перші кодові заяви в регіоні коментуються, регіон закінчився нарешті прокоментованим рядком коду
Jeff

9

BEGIN ... END працює, вам просто потрібно додати коментований розділ. Найпростіший спосіб зробити це - додати назву розділу! Інший маршрут - додати блок коментарів. Дивись нижче:

BEGIN  -- Section Name
/* 
Comment block some stuff  --end comment should be on next line
*/

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END


4

Це лише питання використання відступу тексту в редакторі запитів.

Розширений вид:

Розширено

Згорнутий вид:

Згорнутий


3

Ні, #region не існує мовою T-SQL.

Ви можете отримати складання коду, використовуючи початкові блоки:

- мій регіон
почати
    - код іде тут
кінець

Я не впевнений, що рекомендую використовувати їх для цього, якщо код не вдасться відновити заново іншими способами!


2

Я використовував техніку, подібну до Маквіті, і лише в збережених процедурах або сценаріях, які досить довгі. Я розбиваю такі функціональні частини, як ця:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Цей метод виявляється досить непогано в студії управління і дуже корисний при перегляді коду. Згорнутий шматок виглядає приблизно так:

BEGIN /** delete queries **/ ... /** delete queries **/

Я насправді віддаю перевагу саме цьому, бо знаю, що мої BEGINзбіги ENDсаме так.


1

Інший варіант є

якщо ваша мета - аналіз вашого запиту, Notepad + має корисну автоматичну обгортку для Sql.


Це справді допомагає мені. Дякую
Теотоніо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.