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

您可能有感兴趣的文章
SqlServer生成连续数字根据指定的数字操作

SQLServer中JSON文档型数据的查询问题如何解决

SQLServer备份数据库的完整步骤

在SQLServer中如何使用TryCatch处理异常的示例详解

SQLServer序列SEQUENCE用法介绍