Sql

Sql комментарии в коде: SQL комментарии — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

Как я могу комментировать в MySQL?

В программировании или написании сценариев комментирование помещает в код удобочитаемые описания. Это не влияет на работу кода. Как правило, комментарии включают описание кода. Правильное комментирование чрезвычайно важно для поддержки кода в долгосрочной перспективе. Кроме того, очень важно, будет ли код использоваться другими. Говорят, что хорошо документированный код так же важен, как и правильно работающий код.

MySQL использует SQL для работы с базами данных. Это руководство продемонстрирует, как писать комментарии в операторах MySQL.

 

Комментарии в MySQL

В MySQL доступны три типа команд. Они разделены своими символами.

Важно помнить, что MySQL не поддерживает вложенные комментарии.

Комментарий с помощью «-»

Поместив «-» в конец строки кода, вы можете разместить однострочный комментарий. Посмотрите следующий пример.

$ SELECT * from employees; - Комментарий в конце строки

 

Обратите внимание, что для написания комментария не требуется пробел после символа «-».  Однако MySQL реализует эту функцию, чтобы избежать проблем с некоторыми запросами SQL. Например, этот запрос, скорее всего, вызвал бы проблему с этим типом комментариев, если бы не требовалось пробелов.

$ SELECT 100–1; - Пробел, чтобы не вызывать недоразумений

 

Если бы MySQL не требовал пробелов, результат был бы неожиданным.

Комментарий с помощью «#»

Это еще один тип комментария, который ставится в конце строки. Он действует аналогично разделу, продемонстрированному ранее. Например,

$ SELECT * from employees; # комментарий в конце строки

 

Комментирование в стиле C

Если у вас когда-либо был опыт работы с программированием на C, то вы знакомы с этим типом комментариев. Он начинается с «/*» и заканчивается «*/». Как и в C, комментарии могут занимать несколько строк.

/ * Быстрая коричневая лисица
прыгает через ленивую собаку * /
SELECT * from users;

 

Исполняемые комментарии

MySQL поддерживает еще один тип комментариев – комментарии, которые будут выполнены.  Это интересная функция, которая улучшает переносимость между разными базами данных. Он позволяет встраивать коды, которые будет выполнять только MySQL, но не любое другое решение для базы данных.

Исполняемый комментарий обычно выглядит примерно так. Он включает комментирование в стиле C. Однако после «/*» он начинается с восклицательного знака (!).

$ /*! <mysql_specific_code> */

 

Реализуем это в исполняемом коде. В следующем коде MySQL вернет 5. Однако любой другой механизм базы данных вернет 10.

$ SELECT 5 /*! +1 */

 

Это комментирование также поддерживает указание версии MySQL, необходимой для запуска этого кода, в комментарии. В таком случае структура комментария будет выглядеть примерно так.

$ /*!##### <mysql_specific_code> */

 

Обратите внимание, что всего 5 цифр, которые описывают версию MySQL.

  • Символ 1: описывает основную версию, например 5 или 8.
  • Персонаж 2-3: описывает второстепенную версию.
  • Символ 4-5: описывает уровень патча.

В следующем примере код комментария будет запущен только в том случае, если сервер MySQL v8.0.27.

$ SELECT 5 /*!80027 +1 */

 

Чтобы проверить текущую версию MySQL, выполните следующую команду.

$ mysql --version

 

Мы также можем получить версию MySQL из оболочки MySQL.

$ SHOW VARIABLES LIKE "%version%"

 

Последние мысли

В этой статье описаны все поддерживаемые форматы комментариев в MySQL. Он также демонстрирует их реализацию в запросах. В определенных ситуациях MySQL даже позволяет запускать код из комментариев.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

MSSQL: T-SQL – комментарии

MSSQL: T-SQL – комментарии

Краткая заметка.

В T-SQL есть два варианта добавления коментариев – однострочные, и многострочные.

Однострочные комментарии начинаются с двух тире и заканчиваются новой строкой. Такой комментарий можно добавлять в любом месте кода, например – в конце строки с кодом. В таком случае всё, что указано до “--” будет выполнено как T-SQL запрос, а остальная часть строки – будет проигнорирована.

Пример:

1> select * from sys.databases -- Это комментарий
2> go
name    database_id     source_database_id      owner_sid       create_date     compatibility_level     collation_name  user_access     user_access_desc        is_read_only    is_auto_close_on        is_auto_shrink_on       state   state_desc      is_in_standby   is_cleanly_shutdown    is_supplemental_logging_enabled
...

Другой вариант – (“классические”) блочные комментарии. Они начинаются с символов “/*” и заканчиваются “*/“. Весь текст, заключённый между ними будет проигнорирован. Как правило – такие комментарии добавляют перед или после большого куска кода, но его можно поместить в любом месте. Кроме того – такой комментарий может заниматься несколько строк.

Пример:

1> /* Коммментарий
2> строка 2
3> */
4> select state_desc from sys.databases;
5> go
state_desc
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
(5 rows affected)

Нагулено тут по запросу “tsql comment block“.


Раздел: Databases HOWTO’s MSSQL Метки: MSSQL, SQL, T-SQL

More results…

Exact matches only

Exact matches only

Search in title

Search in title

Search in content

Search in content

Search in excerpt

Hidden

Hidden

Navigation

a

Самое читаемое

  • CentOS: установка, настройка Zabbix-agent и добавление нового хоста в мониторинг — 507 208 views
  • MySQL/MariaDB: наиболее используемые команды, примеры — 289 273 views
  • BASH: описание циклов for, while, until и примеры использования — 152 263 views
  • Команда find и её опции в примерах — 139 711 views
  • Карта сайта — 132 648 views

Архив месяца

Декабрь 2022
ПнВт
Ср
ЧтПтСбВс
 1234
567891011
12131415161718
19202122232425
262728293031 

Архивы по годам

Архивы по годам Выберите месяц Декабрь 2022  (1) Октябрь 2022  (4) Сентябрь 2022  (1) Июнь 2022  (1) Май 2022  (1) Апрель 2022  (1) Март 2022  (2) Январь 2022  (1) Декабрь 2021  (3) Ноябрь 2021  (8) Октябрь 2021  (4) Сентябрь 2021  (5) Август 2021  (5) Июль 2021  (6) Июнь 2021  (6) Май 2021  (6) Апрель 2021  (11) Март 2021  (8) Февраль 2021  (6) Январь 2021  (1) Декабрь 2020  (1) Ноябрь 2020  (9) Октябрь 2020  (9) Сентябрь 2020  (4) Август 2020  (8) Июль 2020  (4) Июнь 2020  (3) Май 2020  (5) Апрель 2020  (9) Март 2020  (8) Февраль 2020  (9) Январь 2020  (2) Декабрь 2019  (9) Ноябрь 2019  (9) Октябрь 2019  (11) Сентябрь 2019  (11) Август 2019  (10) Июль 2019  (2) Июнь 2019  (4) Май 2019  (9) Апрель 2019  (13) Март 2019  (32) Февраль 2019  (20) Январь 2019  (10) Декабрь 2018  (9) Ноябрь 2018  (12) Октябрь 2018  (15) Сентябрь 2018  (12) Август 2018  (14) Июль 2018  (17) Июнь 2018  (18) Май 2018  (21) Апрель 2018  (6) Март 2018  (18) Февраль 2018  (7) Январь 2018  (13) Декабрь 2017  (14) Ноябрь 2017  (6) Октябрь 2017  (24) Сентябрь 2017  (13) Август 2017  (15) Июль 2017  (11) Июнь 2017  (11) Май 2017  (11) Апрель 2017  (7) Март 2017  (18) Февраль 2017  (13) Январь 2017  (14) Декабрь 2016  (12) Ноябрь 2016  (15) Октябрь 2016  (13) Сентябрь 2016  (21) Август 2016  (19) Июль 2016  (14) Июнь 2016  (8) Май 2016  (24) Апрель 2016  (15) Март 2016  (19) Февраль 2016  (21) Январь 2016  (19) Декабрь 2015  (17) Ноябрь 2015  (17) Октябрь 2015  (14) Сентябрь 2015  (13) Август 2015  (1) Июль 2015  (20) Июнь 2015  (23) Май 2015  (26) Апрель 2015  (28) Март 2015  (30) Февраль 2015  (26) Январь 2015  (24) Декабрь 2014  (31) Ноябрь 2014  (21) Октябрь 2014  (28) Сентябрь 2014  (23) Август 2014  (31) Июль 2014  (23) Июнь 2014  (11) Май 2014  (14) Апрель 2014  (8) Март 2014  (11) Февраль 2014  (11) Январь 2014  (11) Декабрь 2013  (12) Ноябрь 2013  (23) Октябрь 2013  (20) Сентябрь 2013  (30) Август 2013  (20) Июль 2013  (6) Июнь 2013  (9) Май 2013  (5) Апрель 2013  (13) Март 2013  (22) Февраль 2013  (36) Январь 2013  (10) Декабрь 2012  (4) Ноябрь 2012  (8) Октябрь 2012  (13) Сентябрь 2012  (29) Август 2012  (24) Июль 2012  (18) Июнь 2012  (2) Май 2012  (4) Март 2012  (5) Февраль 2012  (5) Январь 2012  (25) Декабрь 2011  (15) Ноябрь 2011  (6) Август 2011  (13)

Iconic One Theme | Powered by WordPress

Rules of SQL formatting — Комментирование кода SQL

В этой статье будут даны советы по комментированию кода T-SQL и повышению производительности при использовании функции комментариев ApexSQL Refactor. ApexSQL Refactor — это надстройка форматирования SQL для SQL Server и Visual Studio с почти 200 параметрами форматирования.

Основная цель комментариев — документировать наш код и писать описания того, что он делает.

Использование комментариев в SQL Server

Microsoft SQL Server поддерживает два типа комментариев:

  1. (–) — строчный комментарий. Его можно использовать в той же строке, что и код SQL, или в отдельной строке. Этот тип комментария начинается с двух тире и заканчивается возвратом каретки:

    .
     ИСПОЛЬЗОВАТЬ AdventureWorks2012
    ИДТИ
    ВЫБЕРИТЕ * ОТ HumanResources.Employee
    SELECT * FROM Person.Address -- Однострочный комментарий
    

    Для многострочных комментариев каждая строка должна начинаться с двух дефисов:

     ИСПОЛЬЗОВАТЬ AdventureWorks2012
    ИДТИ
    -- Первая строка многострочного комментария
    -- Вторая строка многострочного комментария
    ВЫБЕРИТЕ * ОТ HumanResources.Employee
    SELECT * FROM Person.Address -- Однострочный комментарий
    ВПЕРЕД 
  2. (/*…*/) — блочный комментарий. Его можно использовать в той же строке, что и код SQL, в отдельной строке или в коде. Все, что находится между открывающей и закрывающей парой символов / *, считается частью комментария.

    Многострочные /* */ комментарии не могут охватывать пакет. Полный комментарий должен содержаться в пакете. Например, в SQL Query Analyzer и утилите sql команда GO сигнализирует об окончании пакета. Когда утилиты считывают символы GO в первых двух байтах строки, они отправляют весь код с момента последней команды GO на сервер как один пакет. Если GO возникает в начале строки между разделителями /* и */, то с каждым пакетом будет отправляться несопоставленный разделитель комментариев, что вызовет синтаксические ошибки. [1]

     ИСПОЛЬЗОВАТЬ AdventureWorks2012
    ИДТИ
    /* Первая строка многострочного комментария.
       Вторая строка многострочного комментария. */
    ВЫБЕРИТЕ * ОТ HumanResources.Employee
    SELECT * FROM Person.Address /*Однострочный комментарий*/
    ИДТИ
     

    Блочный код можно использовать в любом месте кода SQL:

     SELECT Дата рождения, /* Имя, */ Семейное положение
    ОТ HumanResources.
    Employee

    Замена многострочного комментария однострочным приведет к синтаксической ошибке:

     ВЫБЕРИТЕ дату рождения, --FirstName, семейное положение
    ОТ HumanResources.Employee
    
    
    Сообщение 156, уровень 15, состояние 1, строка 2
    Неверный синтаксис рядом с ключевым словом FROM 
    .

Комментирование хранимых процедур в коде SQL

Рекомендуется начинать хранимую процедуру с комментария, в котором указывается как минимум автор, дата и история обновлений. После этого добавьте высокоуровневое описание функции этого модуля. Имя процедуры будет иметь формат «<глагол><объект>». Каждый параметр должен иметь комментарий по мере необходимости.

Пример комбинации однострочных и блочных комментариев:

 /*
Объект: хранимая процедура
Автор: Милица Медик
Дата сценария: 30 декабря 2013 г.
Описание: Эта процедура получает список адресов на основе
на значение города, которое передается в параметре @City
*/
СОЗДАТЬ ПРОЦЕДУРУ uspGetAddress @City nvarchar(30)
КАК
ВЫБРАТЬ *
ОТ AdventureWorks.
Person.Address WHERE City = @City -- значение параметра @City сужает критерии поиска. ИДТИ

Примеры комментирования частей хранимых процедур:

 НАЧАЛО
    УСТАНОВИТЬ БЕЗ СЧЕТА;
-- Используйте рекурсивный запрос, чтобы перечислить всех сотрудников, необходимых для конкретного менеджера.
    WITH [EMP_cte]([BusinessEntityID], [OrganizationNode], [FirstName], [LastName], [JobTitle], [RecursionLevel]) — имя и столбцы CTE
    КАК (
        SELECT e.[BusinessEntityID], e.[OrganizationNode], p.[FirstName],p.[LastName], e.[JobTitle], 0 -- Получить начального сотрудника
) 

Комментарии к оператору управления

Комментарии к оператору управления, такие как циклы IF-THEN-ELSE, BEGIN-END и WHILE-DO, будут очень похожи на комментарии в любой процедурной программе. Сложные операторы SQL могут потребовать комментария вверху и часто на уровне предложения:

 -- Возвращает имя, фамилию, должность и тип бизнес-объекта для указанного контакта.
-- Поскольку контакт может выполнять несколько ролей, может быть возвращено более одной строки. 
НАЧИНАТЬ
       ЕСЛИ @PersonID НЕ НУЛЬ
       НАЧИНАТЬ
       ЕСЛИ СУЩЕСТВУЕТ(ВЫБЕРИТЕ * FROM [HumanResources].[Employee] e
       ГДЕ e.[BusinessEntityID] = @PersonID)
       ВСТАВЬТЕ В @retContactInformation
       ВЫБЕРИТЕ @PersonID, p.FirstName, p.LastName, e.[JobTitle], «Сотрудник»
       ОТ [Отдел кадров].[Сотрудник] AS e
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ [Человек].[Человек] p
       ON p.[BusinessEntityID] = e.[BusinessEntityID]
       ГДЕ e.[BusinessEntityID] = @PersonID;
       КОНЕЦ
ВОЗВРАЩАТЬСЯ;
КОНЕЦ; 

Комментарии к пункту

Для сложных соединений может потребоваться комментарий, поясняющий ряд предикатов на более высоком уровне. Кроме того, производная таблица без хорошего псевдонима может нуждаться в комментарии, объясняющем, что она содержит:

 -- Присоединиться обратно к Сотруднику, чтобы вернуть имя менеджера.
   ВЫБЕРИТЕ [EMP_cte].[RecursionLevel], [EMP_cte].[BusinessEntityID],[EMP_cte].[FirstName], [EMP_cte].[LastName], [EMP_cte]. [OrganizationNode].ToString() AS [OrganizationNode],
p.[FirstName] AS 'имя менеджера',
p.[LastName] AS 'ManagerLastName' -- Внешний выбор из CTE
 ОТ [EMP_cte]
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ [Человеческие ресурсы].[Сотрудник] e
 ON [EMP_cte].[OrganizationNode].GetAncestor(1) = e.[OrganizationNode]
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ [Человек].[Человек] стр. 

Комментариями можно управлять с помощью ApexSQL Refactor. В окне Параметры на вкладке Комментарии есть различные параметры для управления комментариями:

Чтобы улучшить читаемость, добавив пустую строку до и после комментариев блока, используя параметр Вставить пустую строку перед комментариями блока и параметр Вставить пустую строку после блока комментариев :

До:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ
/* Первая строка многострочного комментария.
   Вторая строка многострочного комментария. */
ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person. Address -- Однострочный комментарий
ВПЕРЕД 

После:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ

/* Первая строка многострочного комментария.
   Вторая строка многострочного комментария. */

ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address -- Однострочный комментарий
GO 

Комментарии блока можно настроить, добавив границы с помощью Добавить границу над комментариями блока с помощью <настраиваемого знака> и Добавить границу под комментариями блока с помощью <настраиваемого знака> 9Варианты 0004:

До:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ

/* Первая строка многострочного комментария.
   Вторая строка многострочного комментария. */

ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address /*Однострочный комментарий*/
GO 

После:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ

/*********************************************
 Первая строка многострочного комментария. 
   Вторая строка многострочного комментария.
*********************************************/

ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address

/******************
Однострочный комментарий
******************/
ВПЕРЕД 

ApexSQL Refactor предлагает возможность изменить тип существующих комментариев в зависимости от потребностей пользователя. Если все однострочные комментарии необходимо преобразовать в блочные комментарии, используйте параметр Заменить все комментарии на блочные комментарии :

Раньше:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ
-- Первая строка многострочного комментария.
-- Вторая строка многострочного комментария.

ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address
 
--Однострочный комментарий

ИДТИ
 

После:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ

/*********************************************
 Первая строка многострочного комментария.
   Вторая строка многострочного комментария. 
*********************************************/

ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address

/******************
Однострочный комментарий
******************/
ИДТИ
 

Все комментарии к блокам можно преобразовать в комментарии к строке с помощью кнопки Изменить все комментарии на комментарии к строке вариант:

Раньше:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012

ИДТИ
/*********************************************
 Первая строка многострочного комментария.
 Вторая строка многострочного комментария.
*******************************************/

ВЫБЕРИТЕ * ОТ HumanResources.Employee

SELECT * FROM Person.Address

/******************
Однострочный комментарий
******************/

ВПЕРЕД 

После:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ
-- Первая строка многострочного комментария.
-- Вторая строка многострочного комментария.

ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person. Address
 
--Однострочный комментарий

GO 

Чтобы сэкономить время при удалении комментариев или если есть ненужные комментарии, используйте параметр Удалить все блочные комментарии и параметр Удалить все однострочные комментарии :

До:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012

ИДТИ
/*********************************************
 Первая строка многострочного комментария.
 Вторая строка многострочного комментария.
*******************************************/

ВЫБЕРИТЕ * ОТ HumanResources.Employee

SELECT * FROM Person.Address

/******************
Однострочный комментарий
******************/

GO 

После:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012

ИДТИ
ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address
ВПЕРЕД 

Чтобы удалить все однострочные комментарии, используйте параметр Удалить все однострочные комментарии :

До:

 ИСПОЛЬЗУЙТЕ AdventureWorks2012
ИДТИ
-- Первая строка многострочного комментария. 
-- Вторая строка многострочного комментария.
ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address -- Однострочный комментарий
GO 

После:

 ИСПОЛЬЗОВАТЬ AdventureWorks2012
ИДТИ
ВЫБЕРИТЕ * ОТ HumanResources.Employee
SELECT * FROM Person.Address
ВПЕРЕД 

Ссылки:
[1] Электронная документация по SQL Server — с использованием комментариев

Полезные ресурсы:
Электронная документация по SQL Server — /*…*/ (Комментарий) (Transact-SQL)
Электронная документация по SQL Server — — ( Comment) (Transact-SQL)
Электронная документация по SQL Server — Комментарии

 

12 февраля 2014 г.

— (Комментарий) (Transact-SQL) — SQL Server

Редактировать

Твиттер LinkedIn Фейсбук Электронное письмо

  • Статья
  • 2 минуты на чтение

Применимо к: SQL Server (все поддерживаемые версии) База данных SQL Azure Управляемый экземпляр Azure SQL Аналитика синапсов Azure Analytics Platform System (PDW)

Указывает текст, введенный пользователем. Комментарии можно вставлять в отдельную строку, вставлять в конец командной строки Transact-SQL или в инструкцию Transact-SQL. Сервер не оценивает комментарий.

Соглашения о синтаксисе Transact-SQL

Синтаксис

 -- text_of_comment
 

Примечание

Для просмотра синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий см. документацию по предыдущим версиям.

Аргументы

text_of_comment
Строка символов, содержащая текст комментария.

Используйте два дефиса ( ) для однострочных или вложенных комментариев. Комментарии, вставленные с , завершаются новой строкой, которая определяется символом возврата каретки (U+000A), символом перевода строки (U+000D) или их комбинацией.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *