0

たとえば、データベースにクエリを実行すると、

SELECT SALARY, WEEKLY_HOURS FROM EMPLOYEE WHERE EMP_ID = 999

次に、SALARY と WEEKLY_HOURS をローカル変数と比較します。ローカル値が異なる場合は、更新クエリを実行しました。

UPDATE EMPLOYEE SET SALARY = 255, WEEKLY_HOURS = 72 WHERE EMP_ID = 999

値に違いがない場合は、更新クエリをスキップします。

私の質問は、ストアド プロシージャを使用せずに 1 つのクエリで比較と更新を行うことができるかどうかです。1回の往復を節約しようとしています。

ありがとう。

4

1 に答える 1

1
update e
set
 e.Salary = 255
 , e.Weekly_Hours = 72
from
 Employee e
where
 e.Emp_ID = 999
 and (
   e.Salary <> 255 or
   e.Weekly_Hours <> 72 )
于 2013-10-16T22:02:58.110 に答える