これはおそらくSQLの人々のための非常に単純な質問です。このUPDATEは、私が意図していることを達成しますか?
私は、プロダクションテーブル(PROVIDER_SERVICE)で更新したいいくつかのフィールドの古い値と新しい値を保存した一時テーブル(TMP_VALIDATION_DATA)と、更新する必要のあるPROVIDER_SERVICEレコードのuuids 。
私は何を達成したいことは、これは擬似コードでは、次のとおりです。
For every prov_svc_uuid uuid in TMP_VALIDATION_DATA table
Set PROVIDER_SERVICE_RATE.END_DATE = NewPvSvcEndDate
Where [uuid in temp table] = [uuid in PROVIDER_SERVICE table]
end for
は私が必要なものを達成しようとして、この更新ステートメントですか?
update PROVIDER_SERVICE
set END_DATE = (
select NewPvSvcEndDate
from TMP_VALIDATION_DATA T
where T.PROVIDER_SERVICE_UUID = PROVIDER_SERVICE.PROVIDER_SERVICE_UUID
)
私の更新が間違っている場合は、修正をお願いしますか?ありがとう。