Savepoints en SQL
Un savepoint es una transacción dentro de otra, así un paso puede fallar solo.
BEGIN;
INSERT INTO tags (name)
VALUES ('imported');
SAVEPOINT risky_part;
UPDATE accounts
SET balance = balance - 100
WHERE id = 1;
ROLLBACK TO risky_part;
RELEASE risky_part;
COMMIT;
Cómo funciona
SAVEPOINT namemarca un punto al que puedes volver.ROLLBACK TO namedeshace el trabajo desde la marca y conserva la transacción.RELEASE nameacepta ese trabajo y suelta la marca.
Palabras clave y builtins usados aquí
BEGINCOMMITINSERTINTOROLLBACKSETTOUPDATEVALUESWHERE
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 189
- Tokens
- 38
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 24 segundos.
Paso 2 de 5 en Transacciones; paso 12 de 17 en Planes y rendimiento.