如何在SQL中的临时表具有标识列?

时间:2019-03-26 20:19:10

标签: sql-server tsql

如何在SQL中为临时表提供一个标识列?

  

必须为表“ #T”中的标识列指定显式值   当IDENTITY_INSERT设置为ON或复制用户为   插入到NOT FOR REPLICATION身份列中。

我收到以下块的SQL语法错误。

 if object_id('tempdb.dbo.#t') is not null  
   drop table #t

create table #t
(
  [ID] [int] IDENTITY(1,1) NOT NULL,
  [TotalCount] int,
  [PercentageComplete] nvarchar(4000)
)

insert into #t
  select totalcount, percentagecomplete from table_a

1 个答案:

答案 0 :(得分:1)

在表声明后将其添加到查询中

SET IDENTITY_INSERT #t OFF 

这应该解决它。以下代码可在我的机器上运行

CREATE TABLE #t
(
    [ID] [INT] IDENTITY(1,1) NOT NULL,
    [TotalCount] INT,
    [PercentageComplete] NVARCHAR(4000)
)

SET IDENTITY_INSERT #t OFF 

INSERT INTO #t
    SELECT
        totalcount, percentagecomplete 
    FROM
        table_a