SQL Server中T-SQL标识符介绍与无排序生成序号的方法
投稿:yangbin
这篇文章介绍了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标识符与无排序生成序号的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。