As transações são um conjunto de instruções SQL executadas em bloco. Ou todas as instruções têm êxito ou nenhuma delas. As transações utilizam blocos para preservar a integridade dos dados durante sua execução. Se a transação termina corretamente, pode utilizar o comando COMMIT para armazenar permanentemente suas modificações. Caso contrário, chame o comando ROLLBACK para cancelar todas as modificações e restaurar o banco de dados a seu estado anterior.
Não há diferença entre uma transação 4D e uma transação SQL. Os dois tipos compartilham os mesmos dados e processos. As instruções SQL incluídas em uma estrutura Begin SQL/End SQL, o comando QUERY BY SQL e os comandos SQL genéricos integrados aplicados a base local sempre se executam no mesmo contexto que os comandos 4D padrão.
Nota: 4D oferece a opção "Auto-commit" que pode ser utilizada para iniciar e validar as transações de forma automática ao usar os comandos SIUD (SELECT, INSERT, UPDATE e DELETE) com o propósito de preservar a integridade dos dados. Para maior informação, consulte a seção .
Os seguintes exemplos ilustram as diferentes combinações de transações.
Nem "John", nem "Smith" serão adicionados a tabela emp:
Somente “John” será adicionado a tabela emp:
Nem “John” nem “Smith” serão adicionados a tabela emp. A transação externa anula a transação interna:
“John” e “Smith” serão adicionados a tabela emp: