Como usar transações no SQL
O armazenamento de banco de dados ajuda sua empresa a armazenar registros de forma eficiente e conveniente em um servidor. À medida que seus registros são expandidos e alterados, você pode adicionar e excluir tabelas no banco de dados usando a Linguagem de Consulta Estruturada ou SQL. Erros podem acontecer, e derrubar uma mesa acidentalmente pode custar tempo e recursos para o seu negócio. Usar transações ao consultar seu banco de dados fornece um ponto de restauração para o seu trabalho, caso surja um problema. Transações agrupam uma série de instruções SQL em uma unidade atômica.
1
Clique no botão Iniciar e digite "cmd" no campo Pesquisar. Na janela de comando, digite o nome do programa cliente do SQL para se conectar ao seu servidor. Dependendo do programa que você usa, você pode precisar passar argumentos para o seu programa a partir da linha de comando. Por exemplo, se você estiver usando o MySQL, digite o seguinte comando:
mysql -u root -p mysql
Digite sua senha quando solicitado.
2
Comece uma transação anônima com a palavra-chave BEGIN TRANSACTION como no código a seguir:
COMECE A TRANSAÇÃO; UPDATE inventário SET cost = custo + 1, 25 WHERE nome LIKE 'light%';
Se você estiver usando o MySQL, substitua "BEGIN" por "START", como no seguinte:
START TRANSACTION;
3
Execute o bloco de código como um todo usando as palavras-chave COMMIT WORK ou COMMIT TRANSACTION. Desfaça a transação usando as palavras-chave ROLLBACK WORK ou ROLLBACK TRANSACTION. Encerre o comando com um ponto e vírgula como na linha a seguir:
ROLLBACK WORK;
4
Inicie uma transação nomeada anexando um nome de variável ao final de uma instrução de transação, como no código a seguir:
COMEÇA A TRANSAÇÃO t1; CRIAR livros TABLE SELECT id, title FROM suprimentos; COMEÇA A TRANSACÇÃO t2; DROP TABLE suprimentos; COMITAR A TRANSAÇÃO t1;
Confirme ou recupere uma transação especificando o nome da variável usada para iniciar a transação.
Dicas
- Se você estiver usando o Microsoft SQL Server, crie um ponto de restauração em uma transação, adicionando uma instrução SAVE TRANSACTION. Por exemplo, adicione a seguinte linha a uma transação:
- SALVAR TRANSACTION savepoint1;
- Posteriormente em seu trabalho, use instruções condicionais para desfazer ou aplicar alterações, como no exemplo a seguir:
- SE @@ TRANCOUNT = 0
- COMMIT TRANSACTION savepoint1;
- O SQL Server incrementa automaticamente a variável “@@ TRANCOUNT” conforme você inicia as transações nomeadas.