update UE_GW_CHFS h
set h.hzzsy =nvl((select g.hzzsy
from UE_GW_HDJL g
where h.HDJL_ID = g.HDJL_ID
and g.hzzsy <> 'N/A'),h.hzzsy)
where h.hzzsy = 'N/A'
set h.hzzsy =nvl((select g.hzzsy
from UE_GW_HDJL g
where h.HDJL_ID = g.HDJL_ID
and g.hzzsy <> 'N/A'),h.hzzsy)
where h.hzzsy = 'N/A'
坏处是执行时会对g表进行两次扫描,好处是由于exists的限制,可以减少操作h表记录的条数,但是g表数据量过大,影响性能;所以可以改为下面这种
这种方式可以只对数据量大的g表进行一次扫描,但坏处是update了h表较多的记录条数,相比数据量的大小,我觉得应该下面这种性能会好点你可以看一下执行计划