Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Update Problem

Re: Update Problem

From: Richard Kuhler <noone_at_nowhere.com>
Date: Fri, 12 Dec 2003 20:43:54 GMT
Message-ID: <eMpCb.608$HL2.84@twister.socal.rr.com>


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 Kuhler
Received on Fri Dec 12 2003 - 14:43:54 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US