今天在项目中遇到一个问题,想在存储过程中将查询出来的数据放到一个临时表中,不想create table(这人懒 ),但是临时表中需要用到一个自增列,怎么办呢?只好想办法啦 结果如下:
drop table #temp
SELECT id = IDENTITY(int,1,1),* INTO #TEMP FROM myTable
select * from #temp
说明:id = IDENTITY(int,1,1),这句建立自增列的。其他的也不用多说了!^_^
参考资料:
SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。
示例一 :当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数列。这种时候我们可以用以下方案来解决。
SET IDENTITY_INSERT [TABLE] [ON|OFF] |
允许将显式值插入表的标识列中,当设置为ON时,这时可能在INSERT操作时手工指定插入到标识列中的编号,同时必须在操作完成后,将IDENTITY_INSERT还原成OFF,否则下次插入的时候必须指定编号,那不然就无法完成INSERT操作。
示例二:当表中的记录被全部删除,但此时标识列的值越来越大的时候,如果不加以重置,它还会无休止的增长。这个时候我们就要用到:
DBCC CHECKIDENT(TABLE, [RESEED|NORESEED], [1]) |