今天做個后臺登錄,數據庫表名為:"USER",做完后發現居然報表名USER符近有語法錯誤,又把SQL語句在SQL SERVER中運行,還是一樣,找找資料原來USER是T-SQL語句中的關鍵字,所以要寫成[USER].
總結:
下面這此詞都是T-SQL語句中的關鍵字,在寫SQL語句,存儲過程,觸發器或字段命名等時要避免使用這些詞。
| ADD | EXIT | PRIMARY | 
| ALL | FETCH | |
| ALTER | FILE | PRIVILEGES | 
| AND | FILLFACTOR | PROC | 
| ANY | FLOPPY | PROCEDURE | 
| AS | FOR | PROCESSEXIT | 
| ASC | FOREIGN | PUBLIC | 
| AUTHORIZATION | FREETEXT | RAISERROR | 
| AVG | FREETEXTTABLE | READ | 
| BACKUP | FROM | READTEXT | 
| BEGIN | FULL | RECONFIGURE | 
| BETWEEN | GOTO | REFERENCES | 
| BREAK | GRANT | REPEATABLE | 
| BROWSE | GROUP | REPLICATION | 
| BULK | HAVING | RESTORE | 
| BY | HOLDLOCK | RESTRICT | 
| CASCADE | IDENTITY | RETURN | 
| CASE | IDENTITY_INSERT | REVOKE | 
| CHECK | IDENTITYCOL | RIGHT | 
| CHECKPOINT | IF | ROLLBACK | 
| CLOSE | IN | ROWCOUNT | 
| CLUSTERED | INDEX | ROWGUIDCOL | 
| COALESCE | INNER | RULE | 
| COLUMN | INSERT | SAVE | 
| COMMIT | INTERSECT | SCHEMA | 
| COMMITTED | INTO | SELECT | 
| COMPUTE | IS | SERIALIZABLE | 
| CONFIRM | ISOLATION | session_USER | 
| CONSTRAINT | JOIN | SET | 
| CONTAINS | KEY | SETUSER | 
| CONTAINSTABLE | KILL | SHUTDOWN | 
| CONTINUE | LEFT | SOME | 
| CONTROLROW | LEVEL | STATISTICS | 
| CONVERT | LIKE | SUM | 
| COUNT | LINENO | SYSTEM_USER | 
| CREATE | LOAD | TABLE | 
| CROSS | MAX | TAPE | 
| CURRENT | MIN | TEMP | 
| CURRENT_DATE | MIRROREXIT | TEMPORARY | 
| CURRENT_TIME | NATIONAL | TEXTSIZE | 
| CURRENT_TIMESTAMP | NOCHECK | THEN | 
| CURRENT_USER | NONCLUSTERED | TO | 
| CURSOR | NOT | TOP | 
| DATABASE | NULL | TRAN | 
| DBCC | NULLIF | TRANSACTION | 
| DEALLOCATE | OF | TRIGGER | 
| DECLARE | OFF | TRUNCATE | 
| DEFAULT | OFFSETS | TSEQUAL | 
| DELETE | ON | UNCOMMITTED | 
| DENY | ONCE | UNION | 
| DESC | ONLY | UNIQUE | 
| DISK | OPEN | UPDATE | 
| DISTINCT | OPENDATASOURCE | UPDATETEXT | 
| DISTRIBUTED | OPENQUERY | USE | 
| DOUBLE | OPENROWSET | USER | 
| DROP | OPTION | VALUES | 
| DUMMY | OR | VARYING | 
| DUMP | ORDER | VIEW | 
| ELSE | OUTER | WAITFOR | 
| END | OVER | WHEN | 
| ERRLVL | PERCENT | WHERE | 
| ERROREXIT | PERM | WHILE | 
| ESCAPE | PERMANENT | WITH | 
| EXCEPT | PipE | WORK | 
| EXEC | PLAN | WRITETEXT | 
| EXECUTE | PRECISION | ? | 
| EXISTS | PREPARE | 
但發果不經意用到一些關鍵字 尤其是像user、 work 等等,所以在碰到上面的 錯誤提示信息后 就要聯想到這些,不妨試著 添加 [ ],問題就迎刃而解了。 如果擔心出現這類問題 可以提前將需查詢的所有表名都添加 [ ]。
新聞熱點
疑難解答