0

在我们的一张表上运行插入时出现上述错误。

AdmFormData 有 3 个主键,FormType、KeyField 和 FieldName。

有人知道我做错了什么吗?

    set rowcount 0
    go



    INSERT INTO  AdmFormData
    (
    [FormType]
      ,[KeyField]
      ,[FieldName]
      ,[AlphaValue]
      ,[NumericValue]
      ,[DateValue]
    )
    SELECT
     'CUS' AS [FormType]
      ,Customer as [KeyField]
      ,'SAL001' AS [FieldName]
      ,[Customer Territory] AS [AlphaValue]
      ,NULL AS [NumericValue]
      ,NULL AS [DateValue]
    FROM
    dgl_territory a
    LEFT OUTER JOIN AdmFormData f
    on f.FormType = 'CUS' and f.FieldName = 'SAL001' and f.KeyField = a.Customer
    WHERE f.FormType IS NULL
4

1 回答 1

0

该错误告诉您,AdmFormData表中已经有一条记录,该记录具有您要尝试的主键INSERT

如果您在表上的主键包含FormType, KeyField and FieldName,那么您已经有一条包含以下值的记录:

'CUS' AS [FormType]
,Customer as [KeyField]
,'SAL001' AS [FieldName]

您不能拥有多个具有相同主键的记录,它们是唯一的。

于 2012-09-10T10:15:49.527 回答