从表中选择时,MSSQL创建临时标识列

时间:2019-02-28 18:17:01

标签: sql-server

我有一个临时表,可以从中选择所有记录。说出来像这样:

select * from #mytable

我需要向该选择添加一个临时标识字段。我环顾四周,建议包括以某种方式使用IDENTITY(1,1)关键字,或者只是创建一个如下所示的自动递增字段:

row_Number() over (order by col1, col2) as myid

但这并不能使该列成为标识,它只是创建一个唯一递增的字段。

我知道应该有一个简单的解决方案,但我只是找不到。

2 个答案:

答案 0 :(得分:2)

  

我只想知道是否可以创建密钥标识字段   在进行选择时

仅由select hostname, pk_macaddr, ipadress, roomdescription, fk_pk_roomnumber from client,room WHERE fk_pk_roomnumber AND fk_pk_roomnumber = '131'; 来提供:

SELECT INTO

但不是通过普通的SELECT,因为IDENTITY仅仅是涉及专有序列生成器的列属性,并且仅在INSERT上起作用

答案 1 :(得分:0)

您可以使用SELECT INTO

 SELECT
 IDENTITY (INT, 1, 1) AS NEW_ID, *
 INTO #tempTable
 FROM #mytable

 SELECT * FROM #tempTable