[英]Is there a way in SQL Server to insert into TempTable parallely?
[英]SQL Server : error on insert into TempTable
我创建了一个@TempTable
其中包含一个用于标识的附加列。
这是查询:
declare @TempTable table
(
[EmpEnrollNumber] [nvarchar](MAX),
[Date] [datetime],
rowuniq int identity(1,1)
);
SET IDENTITY_INSERT @TempTable ON;
INSERT INTO @TempTable
SELECT *
FROM [Tempdata]
SET IDENTITY_INSERT @TempTable OFF;
我收到这些错误:
消息 102,级别 15,状态 1,第 2 行
'@TempTable' 附近的语法不正确。消息 102,级别 15,状态 1,第 4 行
'@TempTable' 附近的语法不正确。
如何为@TempTable
打开身份插入?
您不能更改 Sql Server 中的table variable
。 所以不可能在表变量上SET IDENTITY_INSERT ON/OFF
尝试使用#temp table
而不是 table 变量。
这是相关的连接项: 表变量上的 SET IDENTITY INSERT
注意:当您设置Identity_insert ON
时,您需要在Insert
提及列列表
无法更改表变量。 但是,您可以声明一个临时表并执行此任务。 检查下面的代码。
CREATE TABLE #TEMPTABLE([EMPENROLLNUMBER] [NVARCHAR](MAX), [DATE] [DATETIME],ROWUNIQ INT IDENTITY(1,1));
SET IDENTITY_INSERT #TEMPTABLE ON;
INSERT INTO #TEMPTABLE SELECT * FROM [TEMPDATA]
SET IDENTITY_INSERT #TEMPTABLE OFF;
注意:当 IDENTITY_INSERT 为 ON 时,您的插入查询应该是这样的。
INSERT INTO #TEMPTABLE([EMPENROLLNUMBER], [DATE], ROWUNIQ) VALUES(2, '2017-08-11', 4)
当它关闭时,您可以像这样插入。
INSERT INTO #TEMPTABLE VALUES(3, '2017-08-11')
希望现在已经很清楚了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.