若需要取另一個資料表的資料,來更新多個欄位資料, 可以使用下列SQL指令:
MERGE INTO PERSONS_TMP PT
USING (
SELECT P.PERSON,
P.JOB_TITLE,
P.FIRST_NAME,
P.LAST_NAME,
P.FACILITY_ID
FROM PERSONS P) TMP
ON (PT.PERSON = TMP.PERSON)
WHEN MATCHED THEN
UPDATE SET
PT.FACILITY_ID = TMP.FACILITY_ID,
PT.JOB_TITLE = TMP.JOB_TITLE,
PT.FIRST_NAME = TMP.FIRST_NAME,
PT.LAST_NAME = TMP.LAST_NAME;
另一種寫法:
UPDATE PERSONS_TMP
SET (FACILITY_ID, JOB_TITLE, FIRST_NAME, LAST_NAME) =
(SELECT FACILITY_ID, JOB_TITLE, FIRST_NAME, LAST_NAME
FROM PERSONS
WHERE PERSONS_TMP.PERSON = PERSONS.PERSON)
沒有留言:
張貼留言