SQL Server中T-SQL标识符介绍与无排序生成序号的方法

2022-11-13 08:11:35 server 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标识符与无排序生成序号的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

相关文章