Sintaxis de START TRANSACTION

  • 2,080 views
Uploaded on

Sintaxis de START TRANSACTION

Sintaxis de START TRANSACTION

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,080
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
11
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BUENOS DIAS
    EDGAR OMAR PACHECOmc. EDGAR OMAR BAÑUELOSTALLER DE BD
    1
  • 2. Por defecto, MySQL se ejecuta con el modo autocommit activado.
    Si usa tablas transaccionales (como InnoDB o BDB), puede desactivar el modo autocommit con el siguiente comando:
    SET AUTOCOMMIT=0;
    2
  • 3. Tras deshabilitar el modo autocommit poniendo la variable AUTOCOMMIT a cero, debe usar COMMIT para almacenar los cambios en disco o ROLLBACK si quiere ignorar los cambios hechos desde el comienzo de la transacción.
    3
  • 4. Si quiere deshabilitar el modo autocommit para una serie única de comandos, puede usar el comando START TRANSACTION:
    START TRANSACTION;
    SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
    UPDATE table2 SET summary=@A WHERE type=1;
    COMMIT;
    4
  • 5. BEGIN y BEGIN WORK se soportan como alias para START TRANSACTION para iniciar una transacción. START TRANSACTION es sintaxis SQL estándar y es la forma recomendada para iniciar una transacción ad-hoc . El comando BEGIN difiere del uso de la palabra clave BEGIN que comienza un comando compuesto BEGIN ... END. El último no comienza una transacción.
    5
  • 6. Puede comenzar una transacción así:
    START TRANSACTION WITH CONSISTENT SNAPSHOT;
    WITH CONSISTENT SNAPSHOT
    ER_WARNING_NOT_COMPLETE_ROLLBACK.
    6
  • 7. SET TRANSACTION ISOLATION LEVEL.
    7
  • 8. Sentencias que causan una ejecución (commit) implícita
    8
  • 9. Sintaxis de SAVEPOINT y ROLLBACK TO SAVEPOINT
    9
  • 10. SAVEPOINT identifier
    ROLLBACK TO SAVEPOINT identifier
    10
  • 11. Sintaxis de LOCK TABLES y UNLOCK TABLES
    11
  • 12. LOCK TABLES
    tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
    [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...
    UNLOCK TABLES
    12
  • 13. mysql> LOCK TABLE t WRITE, t AS t1 WRITE;
    mysql> INSERT INTO t SELECT * FROM t;
    ERROR 1100: Table 't' wasnotlockedwith LOCK TABLES
    mysql> INSERT INTO t SELECT * FROM t AS t1;
    13
  • 14. Si bloquea una tabla usando un alias, debe referirse a ella en sus consultas usando este alias:
    mysql> LOCK TABLE t AS myalias READ;
    mysql> SELECT * FROM t;
    ERROR 1100: Table 't' wasnotlockedwith LOCK TABLES
    mysql> SELECT * FROM t AS myalias;
    14
  • 15. LOCK TABLES trans READ, customer WRITE;
    SELECT SUM(value) FROM trans WHERE customer_id=some_id;
    UPDATE customer
    -> SET total_value=sum_from_previous_statement
    -> WHERE customer_id=some_id;
    UNLOCK TABLES;
    15
  • 16. Sintaxis de SET TRANSACTION
    16
  • 17. SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
    { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
    17
  • 18. Descripción de los niveles de aislamiento
    18
  • 19. con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
    19