José Mario Barduchi escreveu:

> Tenho uma tabela de itens de notas fiscais e uma de estoque, entre outras
> ligadas ao faturamento. No momento de geração da nota fiscal deve ser
> baixado o estoque e atualizado uma série de outras tabelas. Ai começa a
> minha dúvida:
> 
> Dentro de uma transação, como a que
> mostrarei simplificadamente abaixo, eu preciso dos valores de uma tabela 
> atualizados
> para fazer um update na outra tabela, sem ter dado o commit. Isso é
> possível ?
> 
Sim. Isso se chama isolamento de transação [1]. Quando você abre uma
transação é como se o banco de dados estivesse criado uma "snapshot"
(dados do início da transação) dos dados e você trabalhasse nela sem que
os outros sejam afetados pelas suas mudanças -- isso no modo 'read
committed' (leitura somente após efetivação) que é o padrão. Recomendo o
leitura de [1] para que entenda o conceito corretamente.

[1] http://www.postgresql.org/docs/8.2/static/transaction-iso.html


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a