> For the complete documentation index, see [llms.txt](https://davidjosearaujo.gitbook.io/notes-miect/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://davidjosearaujo.gitbook.io/notes-miect/bases-de-dados/sql-server/resumo-da-sintaxe.md).

# Resumo da Sintaxe

### Iniciar transação

BEGIN TRAN\[SACTION] \[\<trans\_name>|<@trans\_name\_variable>]

### Commit da transação

COMMIT TRAN\[SACTION] \[\<trans\_name>|<@trans\_name\_variable>]

### Rollback da transação

ROLLBACK TRAN\[SACTION] \[\<trans\_name>|<@trans\_name\_variable>||<@savepoint variable>]

### Save Point

SAVE TRAN\[SACTION] \[|<@savepoint variable>]

## Isolamento

Instrução: SET TRANSACTION

#### Nível de isolamento

* ISOLATION LEVEL nível
* nível que uma transação Ti pode assumir:
  * **SERIALIZABLE** (Ti executa com completo isolamento)
  * **REPEATABLE READ** (Ti só lê dados efetivados (commited) e outras transações não podem modificar dados lidos por Ti)
  * **READ COMMITTED** (Ti só lê dados efetivados, mas outras transações podem modificar dados lidos por Ti)\*
  * **READ UNCOMMITTED** (Ti pode ler dados que ainda não sofreram efetivação)
  * **SNAPSHOT** (Ti vê uma imagem dos dados que existiam antes de se iniciar a transação – alterações commited entretanto não são visíveis)

![](/files/GFTqG2VF6sCMg3BEQ99q)

![](/files/3xBhssAL2YDCsUMfxjoZ)
