Voce está usando uma sessão só?
Para reproduzir lock, voce precisa usar no mínimo 2 sessões.
On 1/20/06, Marcelo Cauduro <[EMAIL PROTECTED]> wrote:
>
> Pessoal, estou tentando usar o NOWAIT para não permitir o update em uma
> determinada linha que
> estará em processamento.
>
> Mas para testes fiz um procedimento que abre dois cursores que dão lock na
> linha, mas ai é que ta o problema.,
> ele permite abrir os dois cursores que dao lock na mesma linha, ...
>
> mas pensei que o for update nào deixa-se...
>
> não era para travar ? dar resource busy...
>
> Meu oracle é 8i.
>
> prompt --> Criacao das tabelas
>
> create table teste_nowait ( a number);
>
> insert into teste_nowait values (1)
>
> prompt --> Ai vai o teste :
>
> declare
>
> --prompt --> Cria primeiro cursor
>
> cursor i is select a from teste_nowait where a =1 for update OF a
> NOWAIT;
>
> --prompt --> Cria segundo cursor
>
> cursor i2 is select a from teste_nowait where a =1 for update OF a
> NOWAIT;
>
> --prompt --> Declara variaveis
> cursor1 i%rowtype;
> cursor2 i2%rowtype;
>
> begin
>
> --prompt --> Abre os dois cursores
>
> open i;
> open i2;
>
> --prompt --> Obtem dados
>
> fetch i into cursor1;
> fetch i2 into cursor2;
>
> --prompt --> Realiza alteracoes
>
> if i2%found then
> update teste_nowait
> set a=cursor2.a+1
> where current of i2;
> END IF;
>
> if i%found then
> update teste_nowait
> set a=cursor1.a+1
> where current of i;
> END IF;
>
> rollback;
>
> close i;
> CLOSE I2;
>
> end;
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> --
> Atenção! As mensagens deste grupo são de acesso público e de inteira
> responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>
> --_
> Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
--
--
Marcio Portes
http://mportes.blogspot.com
[As partes desta mensagem que não continham texto foram removidas]
--
Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
--_
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html