以下のコードは完全に機能していますが、長すぎると感じます。フィールド「MealNo」の値「1」を削除してから、フィールド MealNo=2 を持つ行にレコードを移動したいのです。
以下のコードは仕事をしますが、非常に長く見えます。短縮する方法はありますか? 特に「どこで」の後
if ((SELECT MealNo FROM [Temp_Food_TBL] WHERE [AutoNo] = @AutoNo) = 1)
BEGIN
Update [Temp_Food_TBL]
SET
MealNo = 1
Where
MealNo = 2
AND
PersonID = (SELECT PersonID FROM [Temp_Food_TBL] WHERE [AutoNo] = @AutoNo)
AND
MealTime = (SELECT MealTime FROM [Temp_Food_TBL] WHERE [AutoNo] = @AutoNo)
AND
MealDate = (SELECT MealDate FROM [Temp_Food_TBL] WHERE [AutoNo] = @AutoNo)
END
DELETE FROM [Temp_Food_TBL]
WHERE
[AutoNo] = @AutoNo