Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Confirma a transação interativa atual, tornando permanente todas as alterações em todas as tabelas modificadas. Para obter requisitos e padrões de uso para transações interativas, consulte transações interativas.
Sintaxe
COMMIT [ TRANSACTION | WORK ]
Parâmetros
Essa instrução não tem parâmetros.
Observações
- Se não houver nenhuma transação ativa, a execução
COMMITresultará em um erro de NO_ACTIVE_TRANSACTION . - Se
COMMITfalhar, a transação será anulada e você deverá executarROLLBACKexplicitamente para redefinir o estado da transação antes de iniciar uma nova transação. Motivos comuns para falhas deCOMMITincluem conflitos de gravação com outras transações simultâneas. - Para executar essa instrução, você deve ter uma transação ativa e permissões apropriadas em todos os objetos lidos ou modificados dentro da transação.
Exemplos
Os exemplos a seguir demonstram como confirmar transações interativas.
Transação básica
Execute cada instrução separadamente.
BEGIN TRANSACTION;
-- Insert a new record
INSERT INTO my_table VALUES (1, 'test');
-- Update records in another table
UPDATE another_table
SET value = 'updated'
WHERE id = 5;
-- Commit all changes in both tables atomically
COMMIT TRANSACTION;
Ler suas próprias gravações
Execute cada instrução separadamente.
BEGIN TRANSACTION;
-- Insert new data
INSERT INTO customers VALUES (101, 'New Customer');
-- Update the newly inserted data
UPDATE customers SET name = 'Updated Customer Name' WHERE id = 101;
-- Query sees the updated value within the transaction
SELECT name FROM customers WHERE id = 101;
-- Returns 'Updated Customer Name'
-- Commit makes changes visible to other transactions
COMMIT;
Gerenciar falha de confirmação
Se COMMIT falhar devido a conflitos ou outros erros, você deverá reverter explicitamente. Execute cada instrução separadamente.
BEGIN TRANSACTION;
-- Make changes
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
-- Attempt to commit
COMMIT;
-- If COMMIT fails (e.g., due to write conflict),
-- the transaction is aborted
-- You must explicitly roll back before starting a new transaction
ROLLBACK;
Artigos relacionados
- BEGIN TRANSACTION (transações interativas): iniciar uma transação interativa
- ROLLBACK: Reverter uma transação interativa e descartar todas as alterações
- Instrução composta ATOMIC (transações não interativas): execute várias instruções SQL como uma única transação atômica com confirmação e reversão automáticas
- Transações: visão geral do suporte à transação, requisitos e limitações
- Modos de transação: padrões e exemplos detalhados para transações não interativas e interativas