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的ROWCOUNT關鍵字2. 講解SQL Server數據庫備份的多種方式3. sql server的cube操作符使用詳解4. SQL Server 中Inner join 和where的效率差異5. SQL Server 2008單個用戶轉換成多個用戶6. Access轉Sql Server問題 實例說明7. 50種方法巧妙優化你的SQL Server數據庫8. 使用 IP 地址連接到 SQL Server 數據庫的速度特別慢9. 解決 Can’t connect to local mysql server through socket ‘/tmp/mysql.sock’ (2) |#200210. SQL Server 2008阻止保存要求重新創建表的更改
