Como Bloquear uma Tabela MySQL

2 respostas
A

Olá Pessoal tudo bem!!!

Tenho a seguinte dúvida:

Vou tentar explicar de um modo geral, tendo duas tabelas A e B.

Eu gostaria de uma transação onde eu possa bloquear a Tabela A de modo que ninguém possa ler e escrever nela, além
da minha própria transação.

Onde na minha transação eu tenho que ler uma tupla da Tabela A, realizar um insert na Tabela B com o valor lido da Tabela A e depois
realizar um insert na Tabela A. Após isso dou um commit e faço o desbloqueio da Tabela.

Estou utilizando JDBC e MySQL com tabelas InnoDB.

Caso alguém possa me ajudar ficarei grato.

2 Respostas

L

vc tem certeza que é o usuario do sistema que tem permissao de fazer um CRUD no banco de dados? pense direito ai…

A

Talvez eu escrevi mal.

O que eu estou fazendo é uma venda comercial onde para cada Item do Pedido, eu tenho que verificar a quantidade disponível no estoque
antes de realizar um insert no Banco na Tabela ItemPedido.

O insert na Tabela ItemPedido só será feito se houver estoque suficiente na Tabela Estoque.

A transação seria:

select na tabela Estoque para verificar a quantidade disponível

Caso seja suficiente realizo um insert na Tabela ItemPedido .

e depois realizo um update na Tabela Estoque atualizando a quantidade do produto disponível.

O que eu tenho que fazer é:

bloquear a Tabela Estoque
realizar um select na Tabela Estoque
realizar um insert na Tabela ItemPedido
e depois atualizar a Tabela Estoque
efetuar um commit
e desbloquear as Tabelas

Entre o select na Tabela Estoque e o insert na Tabela ItemPedido, ninguém poderá ler ou escrever na Tabela Estoque, por isso que tenho que
bloquear a Tabela.

Fiquei um pouco confuso com sua resposta, mas estou tentando expressar melhor agora.

Caso alguém possa me ajudar ficarei grato!!!

Criado 6 de agosto de 2010
Ultima resposta 7 de ago. de 2010
Respostas 2
Participantes 2