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

SQL Server 數字開頭資料表名稱查詢語法與命名規範建議

     編輯:關於SqlServer

現象

資料表名稱以數字開頭 (如 1_TableName) 在 SSMS 建立成功,但直接查詢報錯:

SELECT * FROM 1_TableName;  -- Msg 102: Incorrect syntax near '1'.

解決方案:分隔識別碼

使用方括號 [] 或雙引號 "" (需 SET QUOTED_IDENTIFIER ON) 包裹識別碼:

SELECT * FROM [1_TableName];     -- 標準做法
SELECT * FROM "1_TableName";     -- QUOTED_IDENTIFIER ON 時有效

Visual Studio DataSet 自動生成 SQL 的坑

  • DataSet 設計師產生的命令文字有時加方括號、有時不加。
  • 導致相同查詢在不同命令中時成功時失敗,除錯極難。
  • 執行計畫快取鍵值包含原始 SQL 文字,括號差異產生多重計畫。

命名規範強烈建議

  1. 表/欄/程序名稱以字母開頭,僅包含字母、數字、底線:[A-Za-z][A-Za-z0-9_]*。
  2. 避免保留關鍵字 (Order, Group, Key 等),若必須用需全程加括號。
  3. 統一使用 PascalCase 或 snake_case,專案內一致。
  4. 程式碼產生工具/ORM 配置 強制輸出分隔識別碼 (方括號)。

補充:分隔識別碼的其他適用場景

  • 含空格:[Order Detail]
  • 含特殊字元:[Price@Cost]
  • 關鍵字作識別碼:[Select], [From]
  • Unicode 字元:[產品名稱]

結語

「能用方括號」不代表「應該用數字開頭」。良好的命名規範能消除整類語法錯誤、降低維護成本、提升程式碼可讀性。從資料庫設計階段就落實規範,避免後續應用層、ETL、報表工具連鎖踩坑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved