1

特定のテーブルから行をコピーし、列の異なる 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) です。

このエラーが発生しています:

サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。

4

1 に答える 1

0

ローカル マシンで同様のステートメントをテストしましたが、エラーは発生しませんでした。ただし、エラー メッセージは、サブクエリを使用していることを示していますが、実際にはここでは実行していません。

不足しているコードはありますか?おそらくSurveyID = @ExistingSUIDサブクエリで設定されていますか?その場合、エラー メッセージが示すように、複数の結果が存在することはありません。(これが必要な場合は、SurveyID IN ...

于 2012-07-05T12:21:33.780 に答える