SQL Server中T-SQL標識符介紹與無排序生成序號的方法

T-SQL 標識符

在T-SQL語言中,對SQLServer數據庫及其數據對象(比如表、索引、視圖、存儲過程、觸發器等)需要以名稱來進行命名並加以區分,這些名稱就稱為標識符。

通常情況下,SQLServer數據庫、數據庫以及各種數據對象都應該有一個標識符,但對於某些對象來說,比如約束,標識符是可選的。推薦每個對象都使用標識符。

1、常規標識符的規則

(1)、首字符:標識符的第一個字符必須滿足下列條件:

Unicode標準3.2定義的字母,通常就是字母a~z和A~Z。

下劃線(_)、at字符(@)、或數字符號(#)。

(2)、後續字符:

Unicode標準3.2中所定義的字母。

基本拉丁字符或其他國傢/地區字符中的十進制數字。

at符號(@)、美元符號($)、數字符號或下劃線。

(3)、不能是保留字:

常規標識符不能使用SQL Server內部的保留字,比如char。

(4)、不允許嵌入空格:

2、帶分隔符的標識符

當一定要使用保留字時,如table,這樣的標識符是SQLServer內部的保留字,如果非得這樣使用,就必須用這樣的方式:"table"。

(1)、分隔符

T-SQL規定下列符號為特定的分隔符。

1、雙引號("):用於表示引用的標識符。

2、中括號([]):用於表示括號中的標識符。

(2)、什麼時機使用分隔符

T-SQL常在下列情況下使用分隔符。

1、對象名稱或對象名稱的組成部分中包含保留字時。

2、使用其他特殊的字符時。

無排序生成序號

實現方式:ROW_NUMBER()

SELECT RowID=(ROW_NUMBER() OVER(ORDER BY(SELECT 0))) FROM dbo.tbl_name

實現方式:IDENTITY

SELECT RowID=IDENTITY(INT,1,1) INTO #tb1 FROM dbo.tbl_name
SELECT * FROM #tb1

到此這篇關於SQL Server中T-SQL標識符與無排序生成序號的文章就介紹到這瞭。希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: