SQLServer使用identity函数生成带有自增列临时表遇到的一个排序问题

原创 2007年09月26日 10:05:00

  今天在使用identity函数生成临时表的时候出现一个关于排序的问题.

select identity(int,1,1) myrow_id,billno
into #temp
from myTable
order by myTable.myrow_id

  我想按照myrow_id排序然后插入临时表#temp,并利用identity(int,1,1)函数生成行号列,结果#temp表里数据始终未能按照myrow_id排序。

  后来我想是不是由于identity(int,1,1)的别名和排序列名称重复,导致排序时sql把排序列当成了identity(int,1,1)呢?然后我把identity(int,1,1)的别名改为了id,问题解决,插入#temp中的结果集排序正常。

  结论:在使用identity函数生成临时表的时候,如果需要排序,那么identity的别名不能与排序列名称相同,否则排序失效。

SQL IDENTITY(函数) 自动加自

IDENTITY(函数) 只用在带有 INTO table 子句的 SELECT 语句中,以将标识列插入到新表中。 尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ...
  • jindou910101
  • jindou910101
  • 2013年06月09日 14:03
  • 1215

SQL SERVER临时表的使用

转载:http://www.cnblogs.com/shineqiujuan/archive/2008/11/13/1332657.html drop table #Tmp   --删除临时表#Tm...
  • ycl295644
  • ycl295644
  • 2015年04月27日 15:09
  • 4026

Sql server 中暂停与恢复主键自增

SET IDENTITY_INSERT 允许将显式值插入表的标识列中。 语法 SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON ...
  • u011679955
  • u011679955
  • 2016年05月10日 16:59
  • 1618

sql server T-SQL 插入临时表时使用自增长键

select identity(int,1,1) id ,* into #tmp from tablename 有一点要注意,不能将 tablename这个表中的自增长列一并插入到临时表中. 如果是S...
  • ylqmf
  • ylqmf
  • 2009年11月30日 14:06
  • 4903

SQL生成临时表id自增列

SELECT row_number() over(ORDER BY id) as rows, device_info.id FROM device_info 运行结果如下:...
  • Zoe_1215225
  • Zoe_1215225
  • 2017年10月12日 15:16
  • 398

解析SQL Server identity列的操作方法

SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。  示例一:当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数...
  • nhpyliner
  • nhpyliner
  • 2007年11月21日 17:40
  • 300

sql server的“仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表 '表名' 中的标识列指定显式值。”解决方法

Sql Server中的“仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表 '表名' 中的标识列指定显式值。”...
  • jnuyanfa
  • jnuyanfa
  • 2015年04月26日 00:07
  • 9037

SQL Server自增列(Identity列)的所有操作

一、定義 a)在Create Table
  • Benjayming
  • Benjayming
  • 2014年04月13日 14:13
  • 11632

sqlserver函数(function)中不能使用临时表

比如有,如下function CREATE FUNCTION dbo.functionName( @id INT, @type VARCHAR(20) ) RETURNS TABLE ...
  • miqi770
  • miqi770
  • 2015年09月15日 17:10
  • 5365

SQLServer使用identity函数生成带有自增列临时表遇到的一个排序问题

  今天在使用identity函数生成临时表的时候出现一个关于排序的问题.select identity(int,1,1) myrow_id,billnointo #tempfrom myTableo...
  • minisunny
  • minisunny
  • 2007年09月26日 10:05
  • 3588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLServer使用identity函数生成带有自增列临时表遇到的一个排序问题
举报原因:
原因补充:

(最多只允许输入30个字)