Re: Commit without freeing locks

From: Richard Woods <rawoods_at_concentric.net>
Date: 1996/10/08
Message-ID: <325A90F8.48C8_at_concentric.net>#1/1


Dieter Oberkofler wrote:
>
> Hi to all oracle users,
>
> I have a problem in understanding the commit logic of the oracle
> workgroup server version 7.3.
>
> My application uses a select for update in order to lock a specific
> row when this row needs to be modified by the user.
> After the user confirms its changes with the OK button i use the
> regular oracle commit command to commit all the changes and to free
> all the locked rows.
> If the user need to switch to other information that resides in
> another table and decides to modify this information i have the
> following problem: the commit of this nested transaction also
> frees the original locked row.
>
> Example:
>
> 1. User want's to modify a client in table CLIENT.
> 2. SELECT ... FROM CLIENT FOR UPDATE.
> 3. User needs to select the city of the client and changes to the
> city maintenance.
> 4. User entries a new city row in the table CITY.
> 5. User commits its new CITY entry. (COMMIT)
> 6. This commit also frees the locked CLIENT what was not wanted.
>
> Especially in a GUI environment, where it is usual to be able to
> switch to other program modules, it is almost impossible
> to check all the commits a user cound generate while the original
> locked row should remain locked.
>
> Is the any hidden oracle secret i need to know?
>
> I used to work with a database system that allowed me to commit
> without freeing locks for some specified tables.
>
> Is there any similar method i can use when working with oracle?
>
> I was also thinking of using several user sessions in order to
> be able to commit each session separately.
>
> Any help is appreciated.
>
> Dieter Oberkofler
> Director of Engineering
>
> ------------------------------------------------------------------
> LEADING BITS GmbH. Tel (+43-1) 586 76 11
> Schleifmuehlgasse 5/17 Fax (+43-1) 587 76 15
> A-1040 Vienna E-mail dtr_at_leadingbits.via.at
> Austria Compuserve 100141.1314
> ------------------------------------------------------------------You're allowed one active transaction per conection. If you need to
maintain more than one concurrently active transaction, create another connection.

-- 
Rich Woods, Field Support Analyst 
Oracle Corporation, USA
The comments and opinions expressed herein are mine and 
do not necessarily represent those of Oracle Corporation.
Received on Tue Oct 08 1996 - 00:00:00 CEST

Original text of this message