程式碼中的評論

Transact-SQL 支援兩種形式的註釋編寫。資料庫引擎會忽略註釋,供人們閱讀。

註釋-- 開頭,在遇到新行之前將被忽略:

-- This is a comment
SELECT *
FROM MyTable -- This is another comment
WHERE Id = 1;

斜線明星評論/*開頭,以*/結束。這些分隔符之間的所有文字都被視為註釋塊。

/* This is
a multi-line
comment block. */
SELECT Id = 1, [Message] = 'First row'
UNION ALL
SELECT 2, 'Second row'
/* This is a one liner */
SELECT 'More';

如果 SQL 語句丟失了新的行字元,則斜槓明星註釋的優點是可以保留註釋。在故障排除期間捕獲 SQL 時會發生這種情況。

斜線明星評論可以巢狀,並且斜線明星評論中的起始/*需要以*/結束才能生效。以下程式碼將導致錯誤

/*
SELECT *
FROM CommentTable
WHERE Comment = '/*'
*/

即使在引號內部,斜線明星也被視為評論的開始。因此,它需要以另一個收盤明星斜線結束。正確的方法是

/*
SELECT *
FROM CommentTable
WHERE Comment = '/*'
*/  */