資料庫物件命名(資料表、欄位、檢視、預存程序、函數等)若與系統保留關鍵字衝突,必須使用分隔符號([] 或 ""),否則會導致語法錯誤或不可預期行為。本文整理 SQL Server 2000 完整保留關鍵字清單,供開發與審查參考。
| 分類 | 代表關鍵字 |
|---|---|
| 資料定義 (DDL) | CREATE, ALTER, DROP, TRUNCATE, INDEX, CONSTRAINT, PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, DEFAULT, IDENTITY |
| 資料操作 (DML) | SELECT, INSERT, UPDATE, DELETE, MERGE, BULK INSERT |
| 資料控制 (DCL) | GRANT, REVOKE, DENY, PERMISSIONS |
| 交易控制 (TCL) | BEGIN TRANSACTION, COMMIT, ROLLBACK, SAVE TRANSACTION |
| 流程控制 | IF, ELSE, WHILE, BREAK, CONTINUE, GOTO, RETURN, WAITFOR, CASE, BEGIN, END |
| 查詢子句 | FROM, WHERE, GROUP BY, HAVING, ORDER BY, TOP, DISTINCT, UNION, JOIN, INNER, LEFT, RIGHT, FULL, CROSS, APPLY, ON, AS |
| 函數與運算子 | SUM, COUNT, AVG, MIN, MAX, ISNULL, COALESCE, CAST, CONVERT, SUBSTRING, DATEADD, DATEDIFF, GETDATE, +, -, *, /, %, =, <>, <, >, <=, >=, AND, OR, NOT, LIKE, IN, BETWEEN, EXISTS |
| 資料型別 | INT, BIGINT, SMALLINT, TINYINT, BIT, DECIMAL, NUMERIC, MONEY, FLOAT, REAL, DATETIME, SMALLDATETIME, CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, IMAGE, BINARY, VARBINARY, UNIQUEIDENTIFIER, XML, SQL_VARIANT, TABLE, CURSOR |
| 系統函數/變數 | @@IDENTITY, @@ROWCOUNT, @@ERROR, @@TRANCOUNT, @@SERVERNAME, @@VERSION, SCOPE_IDENTITY, IDENT_CURRENT |
完整清單包含 200+ 關鍵字,以下為高頻必避開字彙:
Orders),欄位用單數(OrderID),布林欄位加 Is/Has/Can 前綴[Order]、[Group]、[Key] 等業務常用詞若衝突sp_help_reserved_keywords 系統程序(較新版本支援)保留關鍵字清單是靜態的,但命名習慣是動態的。建立團隊命名規範、配合工具自動檢查,才能從根源杜絕命名衝突 Bug。