我想从给定的表中复制一行并插入到同一个表中的一个新行中,该行具有不同的列ID。
查询:
INSERT INTO ESurvey_Question(QuestionTypeID, Question, HoriVertID, IsMandatory, FillIn, QuestionRank, Choice_Limit,SurveyID )
SELECT
QuestionTypeID, Question, HoriVertID, IsMandatory, FillIn, QuestionRank,
Choice_Limit, @NewSUID as SurveyID
FROM ESurvey_Question
WHERE SurveyID = @ExistingSUID
@ExistingSUID= 64
@@NewSUID = 115
此处SurveyID
是外键,我想用新ID更改它。
QuestionID
是主键(IDENTTITY
)。
我收到此错误:
子查询返回的值超过1。 当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。
答案 0 :(得分:0)
我在我的本地机器上测试了类似的声明,没有任何错误。但是,您的错误消息告诉我们您正在使用子查询,但您实际上并未在此处执行此操作。
是否缺少某些代码?也许SurveyID = @ExistingSUID
是通过子查询设置的?如果是这样,正如错误消息所示,不能有多个结果。 (如果需要,请使用SurveyID IN ...