db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback Cancelar una transacción

Descripción

db2_rollback ( resource $connection ) : bool

Cancela una transacción en progreso en el recurso de conexión especificado y comienza una nueva transacción. Comunmente las aplicaciones de PHP confirman las transacciones de manera automática por lo que la función db2_rollback() no tendría efecto a menos que este modo haya sido desactivado para este recurso.

Parámetros

connection

Un recurso de conexión válido devuelto por db2_connect() o db2_pconnect().

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Cancelando una sentencia DELETE

En el siguiente ejemplo se cuenta el número de filas en una tabla, se cancelan las confirmaciones automáticas en la conexión, se eliminan todas las filas de la tabla y devuelve el total de 0 para confirmar que las filas se han borrado. Cuando se llama a db2_rollback() y se devuelve el total actualizado de filas en la tabla para demostrar que el número es igual al original (antes de ejecutar la sentancia DELETE). Esto demuestra que la cancelación de la transacción fue correcto.

<?php
$conn 
db2_connect($database$user$password);

if (
$conn) {
    
$stmt db2_exec($conn"SELECT count(*) FROM animals");
    
$res db2_fetch_array$stmt );
    echo 
$res[0] . "\n";
    
    
// Turn AUTOCOMMIT off
    
db2_autocommit($connDB2_AUTOCOMMIT_OFF);
   
    
// Delete all rows from ANIMALS
    
db2_exec($conn"DELETE FROM animals");
    
    
$stmt db2_exec($conn"SELECT count(*) FROM animals");
    
$res db2_fetch_array$stmt );
    echo 
$res[0] . "\n";
    
    
// Roll back the DELETE statement
    
db2_rollback$conn );
    
    
$stmt db2_exec$conn"SELECT count(*) FROM animals" );
    
$res db2_fetch_array$stmt );
    echo 
$res[0] . "\n";
    
db2_close($conn);
}
?>

El resultado del ejemplo sería:

7
0
7

Ver también

  • db2_autocommit() - Devuelve o establece el estado de AUTOCOMMIT en una conexión de bases de datos
  • db2_commit() - Confirmar una transacción