oci_rollback
En esta página
oci_rollback
Anula las transacciones Oracle en curso
Descripción#
oci_rollback(resource $connection): bool
```php
Anula todas las modificaciones no confirmadas para una conexión `connection` Oracle y finaliza la transacción actual. Todos los bloqueos serán liberados asimismo. Todos los puntos de guardado Oracle (`SAVEPOINTS`) serán eliminados.
Una transacción comienza cuando la primera consulta SQL que modifica datos es ejecutada con la función `oci_execute` utilizando el flag `OCI_NO_AUTO_COMMIT`. Las modificaciones siguientes realizadas por otras consultas se convierten en parte de la misma transacción. Las modificaciones realizadas durante una transacción son temporales hasta que la transacción sea confirmada o anulada. Los demás usuarios de la base de datos no verán estas modificaciones hasta la confirmación de la transacción.
Al insertar o actualizar datos, el uso de transacciones es altamente recomendado para garantizar la consistencia relacional de los datos, pero también por razones de rendimiento.
## Parámetros
`connection`
Un identificador de conexión Oracle, devuelto por la función `oci_connect`, `oci_pconnect` o `oci_new_connect`.
## Valores devueltos
Esta función retorna `true` en caso de éxito o `false` si ocurre un error.
## Ejemplos
Ejemplo con `oci_rollback`
Ejemplo de retorno a un punto de guardado (`SAVEPOINT`)
```php
Notas#
[!NOTE] Las transacciones son anuladas automáticamente al cerrar la conexión, o cuando el script finaliza, cualquiera de los dos que ocurra primero. Debe llamarse explícitamente a la función
oci_commitpara confirmar la conexión.Todas las llamadas a la función
oci_executeque utilizan el modoOCI_COMMIT_ON_SUCCESS, ya sea por defecto o de forma explícita, confirmarán todas las transacciones pendientes.Todas las consultas Oracle como
CREATEoDROPconfirmarán asimismo, automáticamente, todas las transacciones pendientes.
Véase también#
oci_commit, oci_execute