在SQL Server中,我使用的是表变量,完成操作后,我想将其值插入具有标识列(也为PK)的真实表中。

我正在创建的表变量有两列;物理表有四个,第一个是标识列,一个整数IK。我要插入的列的数据类型与目标列的数据类型相同。

 INSERT INTO [dbo].[Message] ([Name], [Type])
 SELECT DISTINCT [Code],[MessageType]
 FROM @TempTableVariable

此操作失败:



但是,当尝试仅插入值(...)时,它可以正常工作。

我该如何正确处理?

最佳答案

看来数据“ApplicationSelection”已经在数据库中。您需要编写选择以排除数据库中已经存在的记录。您可以使用where不存在子句或左连接来实现。查找索引,以查看除身份外还具有唯一性的字段。这将告诉您需要检查什么字段以查看当前是否存在该记录。

07-24 09:49
查看更多