在SQL Server中,我使用的是表变量,完成操作后,我想将其值插入具有标识列(也为PK)的真实表中。
我正在创建的表变量有两列;物理表有四个,第一个是标识列,一个整数IK。我要插入的列的数据类型与目标列的数据类型相同。
INSERT INTO [dbo].[Message] ([Name], [Type])
SELECT DISTINCT [Code],[MessageType]
FROM @TempTableVariable
此操作失败:
但是,当尝试仅插入值(...)时,它可以正常工作。
我该如何正确处理?
最佳答案
看来数据“ApplicationSelection”已经在数据库中。您需要编写选择以排除数据库中已经存在的记录。您可以使用where不存在子句或左连接来实现。查找索引,以查看除身份外还具有唯一性的字段。这将告诉您需要检查什么字段以查看当前是否存在该记录。