我想使用oracle中的連接來更新表值(11g), 我已經將rowid用作同一表的連接參數,將rowid用作連接參數是安全的。 以下是我用於更新的查詢,我測試了本地數據庫的相同工作正常,但是有沒有可能是rowid不匹配的情況?更新基於Oracle中的rowid
MERGE
INTO GEOTAG g
USING (SELECT g2.rowid AS rid, um.RETAILER_CODE
FROM GEOTAG g2
JOIN RETAILER_AD_DSE b
ON b.CODE = g2.RETAILER_CODE
JOIN USER_HIERARCHY_MASTER um
ON um.RETAILER_PRIMARY_ETOPUP = b.RETAILER_PRIMARY_ETOPUP) src
ON (g.rowid = src.rid)
WHEN MATCHED THEN UPDATE
SET g.RETAILER_CODE = src.RETAILER_CODE;
你確定這個sql在語義上是正確的嗎?它使用'geotag.retailer_code = retailer_ad_dse.code'選擇行並更新同一列? –
謝謝弗蘭克我已更新查詢。 –