Um 'SELECT ... FOR UPDATE' � uma varia��o Oracle para SELECT que j� bloqueia
os registros retornados pelo select. Uma grande vantagem neste SELECT � que,
no caso de um cursor ( CURSOR xxx IS SELECT ... FOR UPDATE ), ao navegar nos
registros voc� pode fazer um UPDATE sem reescrever as restri��es da cl�usula
WHERE do SELECT. Basta fazer UPDATE ... WHERE CURRENT OF nome_do_cursor.
Desconhe�o algum outro Banco de Dados que implemente esta varia��o.

[]'s
Cristofer

-----Mensagem Original-----
De: "Daniel C�cero Amadei" <[EMAIL PROTECTED]>
Para: <[EMAIL PROTECTED]>
Enviada em: domingo, 19 de janeiro de 2003 23:37
Assunto: Re: [enterprise-list] Lock de registro


> Daniel,
>
> Obrigado pela sua colabora��o, realmente ela foi muito �til pois eu j�
havia
> pensado na solu��o de colocar a connection na sess�o mas achei isso meio
> invi�vel e pensei que houvesse alguma outra solu��o. A solu��o do lock
> otimista j� est� sendo utilizada.
>
> S� mais uma coisinha: Qual a diferen�a de um select for update para um
> select normal?
>
> Obrigado!!!
>
> >From: "Daniel Carneiro" <[EMAIL PROTECTED]>
> >Reply-To: [EMAIL PROTECTED]
> >To: <[EMAIL PROTECTED]>
> >Subject: Re: [enterprise-list] Lock de registro
> >Date: Fri, 17 Jan 2003 14:53:53 -0200
> >
> >Normalmente o uso de "lock pessimista" n�o � recomendado em sistemas web.
> >Para fazer isso vc teria que fazer algo executar um statement com lock
> >("select...for update" for exemplo) e guardar o statement e a conexao com
o
> >banco na sess�o do usuario; por�m isso iria gerar v�rios problemas. Por
> >exemplo o sistema teria que manter uma conexao exclusiva para o usuario
> >todo
> >o tempo em que ele estivesse editando os dados, que � um grande
desperd�cio
> >de recursos, ou pior, se o usu�rio fechar o browser, teria que esperar a
> >sessao dele expirar e a conexao ser liberada pelo garbage collector para
o
> >registro se tornar dispon�vel novamente. Uma forma poss�vel de se
resolver
> >isso seria o uso de "lock otimista" com serializa��o. Cada registro tem
um
> >n�mero de s�rie e cada vez que ele � alterado esse n�mero serial alterado
> >tb. Qdo o sistema fosse gravar os dados iria comparar o n�mero de s�rie
que
> >tem qdo fez a leitura do registro inicialmente com o que tem no banco no
> >momento do grava��o. Se forem diferentes significa que outro usu�rio
> >alterou
> >o registro. Alguns bancos de dados ja implementam esse tipo de
serializa��o
> >autom�tica (TRANSACTION_SERIALIZABLE).
> >
> >[]'s
> >Daniel Carneiro
> >
> >----- Original Message -----
> >From: "Daniel C�cero Amadei" <[EMAIL PROTECTED]>
> >To: <[EMAIL PROTECTED]>
> >Sent: Thursday, January 16, 2003 6:17 PM
> >Subject: [enterprise-list] Lock de registro
> >
> >
> > > Amigos,
> > >
> > > Existe alguma forma de executar um lock em um registro em um sistema
> >WEB?
> > > Por exemplo, ao tentar editar um registro, se ele estiver sendo
editado
> >por
> > > outro usu�rio o sistema n�o permitir?
> > >
> > > []'s
> > > Daniel C. Amadei
> > > Sun Certified Java Programmer - Platforms 1.2 & 1.4
> > >
> > > _________________________________________________________________
> > > MSN Messenger: converse com os seus amigos online.
> > > http://messenger.msn.com.br
> > >
> > >
> > > ---------------------------------------------------------------------
> > > Para cancelar a subscri��o, envie mensagem para:
> >[EMAIL PROTECTED]
> > > Para comandos adicionais, envie mensagem para:
> >[EMAIL PROTECTED]
> > >
> >
> >
> >---------------------------------------------------------------------
> >Para cancelar a subscri��o, envie mensagem para:
> >[EMAIL PROTECTED]
> >Para comandos adicionais, envie mensagem para:
> >[EMAIL PROTECTED]
>
>
> []'s
> Daniel C. Amadei
> Sun Certified Java Programmer - Platforms 1.2 & 1.4
>
> _________________________________________________________________
> MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com
>
>
> ---------------------------------------------------------------------
> Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
> Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]



---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: 
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a