1

TSQL の UPDATE FROM 句を使用して、あるテーブルを別のテーブルから更新しようとしています。そうすることで、制約エラーが発生します。そのエラーをトラップして、どの行が問題を引き起こしているかを判断する方法はありますか? TRY/CATCH は、エラー タイプ/メッセージを出力するだけです。

更新元のテーブルには 400K のレコードが含まれています。これに対処するより良い方法はありますか?一括更新?TSQL は 2 番目のテーブルをループしますか? (後者の場合、パフォーマンスに重大な影響があると言われていますが。)

お時間をいただきありがとうございます。

4

1 に答える 1

0

----テーブルを更新し、Output 句を使用して一時テーブルに値を挿入する

UPDATE TestTable SET TEXTVal = 'NewValue' OUTPUT Inserted.ID、Inserted.TEXTVal、Deleted.ID、Deleted.TEXTVal INTO @TmpTable WHERE ID IN (1,2)

次に @TmpTable を見てください。

于 2012-07-01T21:57:54.060 に答える