1、CREATE TABLE TableX(KeyCol INT PRIMARY KEY, Description nvarchar(80))此表還有一個未命名的約束。
2、PRIMARY KEY 約束沒有標識符。
3、標識符的排序規則取決于定義標識符時所在的級別。
【資料圖】
4、為實例級對象(如登錄名和數據庫名)的標識符指定的是實例的默認排序規則。
5、為數據庫對象(如表、視圖和列名)的標識符分配數據庫的默認排序規則。
6、例如,對于名稱差別僅在于大小寫的兩個表,可在使用區分大小寫排序規則的數據庫中創建,但不能在使用不區分大小寫排序規則的數據庫中創建。
7、 標識符的種類 有兩類標識符: 常規標識符 符合標識符的格式規則。
8、在 Transact-SQL 語句中使用常規標識符時不用將其分隔開。
9、 復制代碼SELECT *FROM TableXWHERE KeyCol = 124分隔標識符 包含在雙引號 (") 或者方括號 ([ ]) 內。
10、不會分隔符合標識符格式規則的標識符。
11、例如: 復制代碼SELECT *FROM [TableX] --Delimiter is optional.WHERE [KeyCol] = 124 --Delimiter is optional.在 Transact-SQL 語句中,必須對不符合所有標識符規則的標識符進行分隔。
12、例如: 復制代碼SELECT *FROM [My Table] --Identifier contains a space and uses a reserved keyword.WHERE [order] = 10 --Identifier is a reserved keyword.常規標識符和分隔標識符包含的字符數必須在 1 到 128 之間。
13、對于本地臨時表,標識符最多可以有 116 個字符。
14、 常規標識符規則 常規標識符格式規則取決于數據庫兼容級別。
15、該級別可以使用 sp_dbcmptlevel 設置。
16、當兼容級別為 90 時,下列規則適用: 第一個字符必須是下列字符之一: Unicode 標準 3.2 所定義的字母。
17、Unicode 中定義的字母包括拉丁字符 a-z 和 A-Z,以及來自其他語言的字母字符。
18、下劃線 (_)、at 符號 (@) 或數字符號 (#)。
19、 在 SQL Server 中,某些位于標識符開頭位置的符號具有特殊意義。
20、以 at 符號開頭的常規標識符始終表示局部變量或參數,并且不能用作任何其他類型的對象的名稱。
21、以一個數字符號開頭的標識符表示臨時表或過程。
22、以兩個數字符號 (##) 開頭的標識符表示全局臨時對象。
23、雖然數字符號或兩個數字符號字符可用作其他類型對象名的開頭,但是我們建議不要這樣做。
24、某些 Transact-SQL 函數的名稱以兩個 at 符號 (@@) 開頭。
25、為了避免與這些函數混淆,不應使用以 @@ 開頭的名稱。
26、 后續字符可以包括: 如 Unicode 標準 3.2 中所定義的字母。
27、基本拉丁字符或其他國家/地區字符中的十進制數字。
28、at 符號、美元符號 ($)、數字符號或下劃線。
29、標識符一定不能是 Transact-SQL 保留字。
30、SQL Server 可以保留大寫形式和小寫形式的保留字。
31、不允許嵌入空格或其他特殊字符。
32、不允許使用增補字符。
33、在 Transact-SQL 語句中使用標識符時,不符合這些規則的標識符必須由雙引號或括號分隔。
34、取自msdn。
本文就為大家分享到這里,希望看了會喜歡。
免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據。
下一篇:最后一頁