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標識符與無排序生成序號的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持。
相關文章:
1. Sql Server中通過sql命令獲取cpu占用及產生鎖的sql2. Sql Server全文搜索中文出錯的問題3. SQL Server 2005使用基于行版本控制的隔離級別初探(1)4. sql server 2000 游標用法小例5. SQL Server修改數據的幾種語句詳解6. SQL Server數據庫超級管理員賬號防護知識7. SQL Server數據庫判斷最近一次的備份執行結果(最新推薦)8. SQL Server 2005使用基于行版本控制的隔離級別初探(3) -- SNAPSHOT9. SQL Server 2005密碼安全追蹤與存儲10. SQL Server 2022 AlwaysOn新特性之包含可用性組詳解