如何在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
答案 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