資料庫名是一個標識符,表名也是一個標識符,在SQL SERVER中標識符分為兩類:
標識符有兩類:
常規標識符
符合標識符的格式規則。在 Transact-SQL 陳述式中使用常規標識符時不用將其分隔。
SELECT *FROM TableXWHERE KeyCol = 124
分隔識別碼
包含在雙引號 (") 或者方括弧 ([ ]) 內。符合標識符格式規則的標識符可以分隔,也可以不分隔。
SELECT *FROM [TableX] --Delimiter is optional.WHERE [KeyCol] = 124 --Delimiter is optional.
在 Transact-SQL 陳述式中,對不符合所有標識符規則的標識符必須進行分隔。
SELECT *FROM [My Table] --Identifier contains a space and uses a reserved keyword.WHERE [order] = 10 --Identifier is a reserved keyword.
常規標識符和分隔識別碼包含的字元數必須在 1 到 128 之間。對於本地暫存資料表,標識符最多可以有 116 個字元。
兩者重要的區別:常規標識符必須嚴格遵守命名的規定,而分隔識別碼則可以不遵守命名規定,只要用[],""分隔出來就可以。
標識符格式:
1、標識符必須是統一碼(Unicode)2.0標準中規定的字元,以及其他一些語言字元。如漢字.
2、標識符後的字元可以是(除條件一)“_”、“@”、“#”、“$”及數字。
3、標識符不允許是Transact-SQL的保留字。
4、標識符內不允許有空格和特殊字元。
另外,某些以特殊符號開頭的標識符在SQL SERVER 中具有特定的含義。如以“@”開頭的標識符表示這是一個局部變數或是一個函數的參數;以#開頭的標識符表示這是一個暫存資料表或是一預存程序。以“##”開頭的表示這是一個全域的臨時資料庫物件。Transact-SQL的全域變數以“@@”開頭。標識符最多可以容納128個字元。