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


Posted in SQL Server onMay 25, 2022

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标识符与无排序生成序号的文章就介绍到这了。

SQL Server 相关文章推荐
SqlServer: 如何更改表的文件组?(进而改变存储位置)
Apr 05 SQL Server
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
Jun 30 SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
Jul 15 SQL Server
SQL写法--行行比较
Aug 23 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
SQL SERVER存储过程用法详解
Feb 24 SQL Server
SQL SERVER触发器详解
Feb 24 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQL Server表分区降低运维和维护成本
Apr 08 SQL Server
使用MybatisPlus打印sql语句
Apr 22 SQL Server
SQL Server中锁的用法
May 20 SQL Server
一次SQL查询优化原理分析(900W+数据从17s到300ms)
Jun 10 SQL Server
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
May 25 #SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 #SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 #SQL Server
SQL SERVER中的流程控制语句
May 25 #SQL Server
SQL Server中搜索特定的对象
May 25 #SQL Server
SQL Server使用T-SQL语句批处理
May 20 #SQL Server
SQL Server 中的事务介绍
May 20 #SQL Server
You might like
生成卡号php代码
2008/04/09 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
javascript计时器详解
2015/02/28 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
iview同时验证多个表单问题总结
2018/09/29 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python实现excel读写数据
2021/03/02 Python
Python2包含中文报错的解决方法
2018/07/09 Python
python numpy元素的区间查找方法
2018/11/14 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
Django分组聚合查询实例分享
2020/04/29 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
AJAX的全称是什么
2012/11/06 面试题
教师党员岗位承诺书
2014/05/29 职场文书
2014年审计工作总结
2014/11/17 职场文书
学生个人评语大全
2015/01/04 职场文书
财务人员个人工作总结
2015/02/27 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书