0
我正在使用序列號字段作爲查找值的公用字段,根據另一個表中的值更新表。然而,從2個以下的查詢中我得到兩個不同的結果有人可以解釋爲什麼兩個產出不同嗎?更新語句不應該更新47200記錄?需要更新Oracle聲明
UPDATE TBL_SERIAL_NUMBER_MASTER A
SET (A.name) = (SELECT B.name
FROM TBL_DEVICE_LOCALITY B
WHERE A.SERIAL_NUMBER = B.SERIAL_NUMBER AND ROWNUM <=1)
WHERE EXISTS (SELECT 1
FROM TBL_DEVICE_LOCALITY
WHERE SERIAL_NUMBER = A.SERIAL_NUMBER
AND TBL_ODIN_DEVICE_LOCALITY.HOST_NAME IS NOT NULL);
結果int:更新了35311行。
select count(*)
from TBL_SERIAL_NUMBER_MASTER A, TBL_DEVICE_LOCALITY B
WHERE A.SERIAL_NUMBER = B.SERIAL_NUMBER AND B.HOST_NAME IS NOT NULL;
返回:數= 47200
您的第一個查詢引用子查詢中的表TBL_ODIN_DEVICE_LOCALITY。我認爲這是一個錯字。 –
是的,這是一個錯字 –