Поделиться через


/*...*/ (комментарий) (Transact-SQL)

Отображает текст, введенный пользователем. Текст, помещенный между /* и */, не вычисляется сервером.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

/*
text_of_comment
*/

Аргументы

  • text_of_comment
    Текст комментария. Это одна или более символьных строк.

Замечания

Комментарии могут вставляться в отдельную строку или в пределах инструкции Transact-SQL. Многострочные комментарии необходимо отмечать сочетаниями символов /* и */. Для многострочных комментариев часто используется следующий стиль: первую строку начинают с сочетания символов /*, последующие строки — с сочетания символов **, а заканчивают комментарий сочетанием символов */.

Ограничений на длину комментариев не существует.

Поддерживаются вложенные комментарии. Если сочетание символов /* используется в пределах существующего комментария, он рассматривается как начало вложенного комментария и, следовательно, требует метки */, закрывающей этот комментарий. Если метки, закрывающей комментарий, нет, выдается ошибка.

Например, следующий код вызовет ошибку:

DECLARE @comment AS varchar(20);
GO
/*
SELECT @comment = '/*';
*/ 
SELECT @@VERSION;
GO 

Чтобы избежать этой ошибки, внесите следующее изменение:

DECLARE @comment AS varchar(20);
GO
/*
SELECT @comment = '/*';
*/ */
SELECT @@VERSION;
GO 

Примеры

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

USE AdventureWorks2008R2;
GO
/*
This section of the code joins the Person table with the Address table, 
by using the Employee and BusinessEntityAddress tables in the middle to 
get a list of all the employees in the AdventureWorks2008R2 database 
and their contact information.
*/
SELECT p.FirstName, p.LastName, a.AddressLine1, a.AddressLine2, a.City, a.PostalCode
FROM Person.Person AS p
JOIN HumanResources.Employee AS e ON p.BusinessEntityID = e.BusinessEntityID 
JOIN Person.BusinessEntityAddress AS ea ON e.BusinessEntityID = ea.BusinessEntityID
JOIN Person.Address AS a ON ea.AddressID = a.AddressID;
GO