首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 註解語法:單行註解與多行註解完整指南

     編輯:關於SqlServer

註解語法

類型語法範例說明
單行註解---- 這是單行註解從 -- 到行尾皆為註解
多行註解/* ... *//* 這是
多行註解 */
可跨行,不可巢狀

使用範例

單行註解:說明查詢邏輯

-- 選擇列表中的欄位 'Student.sname' 無效,因為該欄位沒有包含在聚合函數或 GROUP BY 子句中
SELECT Student.sno, sname, AVG(grade) AS avg_g
FROM Student, SC
WHERE Student.sno = SC.sno 
  AND cno <> '008'
GROUP BY Student.sno  -- 沒加 Student. 欄位 'sno' 不明確
HAVING MIN(grade) >= 60
ORDER BY avg_g DESC;

多行註解:暫時停用程式碼區塊

/* 
把對 Student 表和 Course 表的全部權限授予用戶 U2 和 U3
GRANT ALL PRIVILEGES ON TABLE Student, Course TO U2, U3;

把對表 SC 的查詢權限授予所有用戶
GRANT SELECT ON TABLE SC TO PUBLIC;

把查詢 Student 表和修改學生學號的權限授給用戶 U4
GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;

把用戶 U4 修改學生學號的權限收回
REVOKE UPDATE(Sno) ON TABLE Student FROM U4;
*/

最佳實務

  • 單行註解:行內說明、暫時停用單行、參數說明
  • 多行註解:區塊說明、暫時停用大段程式碼、版權/作者資訊
  • 不可巢狀:/* /* 內層 */ 外層 */ 會在第一個 */ 結束,外層剩餘部分變成程式碼 → 語法錯誤
  • 文件化註解:預存程序/函數開頭建議包含:用途、參數、回傳、作者、日期、修改歷程

進階:文件化註解範本

/*
-- =============================================
-- Author:        張三
-- Create date:   2023-01-15
-- Description:   計算客戶生命週期價值 (CLV)
-- Parameters:    @CustomerId INT - 客戶 ID
-- Returns:       DECIMAL(18,2) - CLV 值
-- Example:       EXEC dbo.CalcCLV @CustomerId = 12345
-- History:
--   2023-02-01  李四  新增 VIP 加權邏輯
--   2023-03-10  王五  修正空值處理
-- =============================================
*/
CREATE PROCEDURE dbo.CalcCLV
    @CustomerId INT
AS
BEGIN
    -- 實作邏輯...
END
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved