SQL Server:复制一行并插入具有不同ID的新行

时间:2012-07-05 11:57:30

标签: sql-server

我想从给定的表中复制一行并插入到同一个表中的一个新行中,该行具有不同的列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。   当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。

1 个答案:

答案 0 :(得分:0)

我在我的本地机器上测试了类似的声明,没有任何错误。但是,您的错误消息告诉我们您正在使用子查询,但您实际上并未在此处执行此操作。

是否缺少某些代码?也许SurveyID = @ExistingSUID是通过子查询设置的?如果是这样,正如错误消息所示,不能有多个结果。 (如果需要,请使用SurveyID IN ...