Sql server MSSQL在从表中选择时创建临时标识列

Sql server MSSQL在从表中选择时创建临时标识列,sql-server,Sql Server,我有一个临时表,从中选择所有记录。假设它看起来像这样: select * from #mytable row_Number() over (order by col1, col2) as myid 我需要向该选择添加一个临时标识字段。我环顾四周,提出了一些建议,包括以某种方式使用IDENTITY(1,1)关键字,或者只是创建一个如下所示的自动递增字段: select * from #mytable row_Number() over (order by col1, col2) as myi

我有一个临时表,从中选择所有记录。假设它看起来像这样:

select * from #mytable
row_Number() over (order by col1, col2) as myid
我需要向该选择添加一个临时标识字段。我环顾四周,提出了一些建议,包括以某种方式使用IDENTITY(1,1)关键字,或者只是创建一个如下所示的自动递增字段:

select * from #mytable
row_Number() over (order by col1, col2) as myid
但这并不能使列成为一个标识,它只是创建了一个唯一递增的字段

我知道应该有一个简单的解决办法,但我就是找不到

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

仅通过
选择进入

SELECT IDENTITY(INT,1,1) AS IdentityColumn
,* 
INTO #Temp 
FROM sys.databases
但不是通过简单的SELECT,因为IDENTITY只不过是一个列属性,它涉及专有的序列生成器,它只在INSERT上工作

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

仅通过
选择进入

SELECT IDENTITY(INT,1,1) AS IdentityColumn
,* 
INTO #Temp 
FROM sys.databases

但不是通过普通的SELECT,因为IDENTITY只不过是一个列属性,涉及专有的序列生成器,它只在INSERT上工作,您可以使用SELECT INTO

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

 SELECT * FROM #tempTable

您可以使用选择进入

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

 SELECT * FROM #tempTable

如果是临时表,只需在临时表创建中添加标识即可。该表是如何创建的?为什么需要添加标识列?如果你的问题是完整的,你会得到更好的答案。确定你的哪些字段实现了主键的功能,这样你就可以创建一个唯一的标识列。在这里,表的内容与我无关,我希望能够使用几个临时表和非临时表来实现这一点。我只是想知道在进行选择时是否可以创建密钥标识字段。我不想在创建初始表时添加标识。如果是临时表,只需在创建临时表时添加标识即可。表是如何创建的?为什么需要添加标识列?如果你的问题是完整的,你会得到更好的答案。确定你的哪些字段实现了主键的功能,这样你就可以创建一个唯一的标识列。在这里,表的内容与我无关,我希望能够使用几个临时表和非临时表来实现这一点。我只是想知道在进行选择时是否可以创建密钥标识字段。我不想在创建初始表时添加标识。