Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Update Problem
Mohammad wrote:
> Hi
>
> I have this query to update some records in my table. It is working
> good but my problem is this query very slow. Is any way to do this job
> faster.
>
> UPDATE SWKPIFA Y
> SET Y.SWKPIFA_TRAN_CODE = 'G'
> WHERE SWKPIFA_START_TERM =
> ( SELECT MIN(X.SWKPIFA_START_TERM)
> FROM SWKPIFA X
> WHERE Y.SWKPIFA_PIDM = x.SWKPIFA_PIDM
> AND Y.SWKPIFA_MAJR_CODE = X.SWKPIFA_MAJR_CODE)
> AND SWKPIFA_END_TERM =
> ( SELECT MAX(X.SWKPIFA_END_TERM)
> FROM SWKPIFA X
> WHERE Y.SWKPIFA_PIDM = x.SWKPIFA_PIDM
> AND Y.SWKPIFA_MAJR_CODE = X.SWKPIFA_MAJR_CODE)
> /
Depending on lots of information you haven't given us, you might try ...
UPDATE SWKPIFA
SET Y.SWKPIFA_TRAN_CODE = 'G'
WHERE (SWKPIFA_PIDM,
SWKPIFA_MAJR_CODE, SWKPIFA_START_TERM, SWKPIFA_END_TERM) IN ( SELECT SWKPIFA_PIDM, SWKPIFA_MAJR_CODE, MIN(X.SWKPIFA_START_TERM), MAX(X.SWKPIFA_END_TERM) FROM SWKPIFA X GROUP BY SWKPIFA_PIDM, SWKPIFA_MAJR_CODE )
-- Richard KuhlerReceived on Fri Dec 12 2003 - 14:43:54 CST