identity(int,1,1)用在临时表里面,一个自增的字段。
select IDENTITY(int,1,1) as SortID from tb_order
仅当 SELECT 语句中有 INTO 子句时,才能使用 IDENTITY 函数。
select IDENTITY(int,1,1) as SortID,* into #Temp from tb_order
无法使用 SELECT INTO 语句将标识列添加到表 '#Temp',该表的列 'ID' 已继承了标识属性。
这样写才是正确的,select 后面不能包含*,不能包含ID号,必须写字段名
select IDENTITY(int,1,1) as SortID,OrderNumber into #Temp from tb_order
select *from #Temp
多表获取ID号
select IDENTITY(int,1,1) as SortID,OrderNumber,a.ID as ID into #Temp from tb_order as a
left join tb_OrderList as b on a.ID=b.OrderID
单表获取ID号,直接写ID会报错的
对比ROW_NUMBER()
select ROW_NUMBER()over(order by id) as SortID from tb_order
同样获取SortID IDENTITY(int,1,1) 查询速度会快很多
本文详细解析了 SQL 中的 Identity 函数用法,包括在临时表中创建自增字段的具体应用,对比了 ROW_NUMBER() 函数,并强调了使用 Identity 函数进行 ID 生成时的注意事项及性能优势。
705

被折叠的 条评论
为什么被折叠?



