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
