Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: full usefullness of CURRENT OF ???
>> Also, the CURRENT OF locks the table so that no one can modify (or
>> even read) it while the transaction is taking place. This guarantees
>> nothing is changing between retrieving values from the cursor and
>> updating the table based on those values.
Actually, it is the FOR UPDATE that locks the table.....
>How? How can I update by ROWID? I was thinking to update
>by PRIMARY_KEY...
DECLARE CURSOR EmpCursor IS
SELECT rowid, .... FROM Emp; BEGIN FOR EmpRec IN EmpCursor LOOP UPDATE EMP SET SALARY = SALARY * 1.08 WHERE rowid = EmpRec.rowid; END LOOP;
OK, fair enough.
> The second example has to run the update statement seperately.
> CURRENT OF can go directly to the row(s) affected. CURRENT OF
> still has to modify each block header in the table to lock which
> is a small performance hit.
So CURRENT OF has to lock, so its slower, right? Does it have any advantages after all?
>To prevent that you could update by rowid
How? How can I update by ROWID? I was thinking to update
by PRIMARY_KEY...
> and avoid the header updates.
.. what "header" updates?
thx
maa
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: MaryAnn Atkinson INET: maryann_30_at_yahoo.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Kevin Toepke INET: ktoepke_at_rlcarriers.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Fri Jul 11 2003 - 15:19:37 CDT
![]() |
![]() |