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添加唯一性約束的方法步驟2. SQL Server的行級安全性詳解3. SQL SERVER 2000系統支持的跟蹤函數4. sql server建立外鍵的操作方法5. MS SQL SERVER 圖像或大文本的輸入輸出6. 解決MySQL啟動報錯:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)7. SQL Server數據對象結構的動態建立與訪問8. SQL Server 2005新功能-TSQL9. SQL Server 2005 CE基礎概要10. SQL Server數據庫文件恢復技術