试试:
UPDATE XSTDMX
SET (XSTDMX_YKPE,XSTDMX_BKPE) =
( SELECT 0,0
FROM XSTD,XSFPMX
WHERE XSTDMX_TDLS =XSTD_TDLS
AND XSFPMX_FPLS='6368' AND XSTDMX_TDLS = XSFPMX_TDLS
AND XSTDMX_TDFL=XSFPMX_TDFL
)
WHERE exists (SELECT 1 FROM XSTD,XSFPMX WHERE XSTDMX_TDLS =XSTD_TDLS AND XSFPMX_FPLS='6368' AND XSTDMX_TDLS=XSFPMX_TDLS AND XSTDMX_TDFL=XSFPMX_TDFL
where rownum < 2 )
UPDATE XSTDMX
SET (XSTDMX_YKPE,XSTDMX_BKPE) =
( SELECT 0,0
FROM XSTD,XSFPMX
WHERE XSTDMX_TDLS =XSTD_TDLS
AND XSFPMX_FPLS='6368' AND XSTDMX_TDLS = XSFPMX_TDLS
AND XSTDMX_TDFL=XSFPMX_TDFL
)
WHERE exists (SELECT 1 FROM XSTD,XSFPMX WHERE XSTDMX_TDLS =XSTD_TDLS AND XSFPMX_FPLS='6368' AND XSTDMX_TDLS=XSFPMX_TDLS AND XSTDMX_TDFL=XSFPMX_TDFL
where rownum < 2 )
FROM XSTD,XSFPMX
WHERE XSTDMX_TDLS =XSTD_TDLS AND XSFPMX_FPLS='6368' AND XSTDMX_TDLS = XSFPMX_TDLS
AND XSTDMX_TDFL=XSFPMX_TDFL )
WHERE XSTDMX_TDLS IN(SELECT ..) AND exists (SELECT 1 FROM XSTD,XSFPMX WHERE XSTDMX_TDLS =XSTD_TDLS
AND XSFPMX_FPLS='6368' AND XSTDMX_TDLS=XSFPMX_TDLS AND XSTDMX_TDFL=XSFPMX_TDFL )
这样可以利用索引