Descartar los cambios en una transacción con SQL ROLLBACK
Aplicación
SQL ROLLBACK descarga todos las modificaciones y ampliaciones de una transacción. La transacción se define mediante el HANDLE que se va a indicar.
Condiciones
- Clave 555343
- Tabla disponible
- Nombres de tabla aptos
Los nombres de las tablas y las columnas de las tablas deben comenzar con una letra y no pueden contener símbolos matemáticos, por ejemplo: +. Debido a las órdenes SQL, estos símbolos pueden causar problemas al leer o seleccionar datos.
Descripción de la función
La función de la orden SQL SQL ROLLBACK depende del INDEX:
- Sin INDEX:
- El control numérico cancela todas las modificaciones y ampliaciones de la transacción
- El control numérico restablece un bloqueo fijado con SELECT...FOR UPDATE.
- El control numérico concluye la transacción (el HANDLE pierde su validez)
- Con INDEX:
- Únicamente la fila indexada se mantiene en el Result-set (el control numérico retira las filas restantes)
- El control numérico cancela todas las posibles modificaciones y ampliaciones en las filas no indicadas
- El control numérico bloquea exclusivamente las filas indexadas con SELECT...FOR UPDATE (el control numérico restablece todos los demás bloqueos)
- La fila indicada (indexadas) será en lo sucesivo la nueva fila 0 del Result-set
- El control numérico no concluye la transacción (el HANDLE mantiene su validez)
- Es necesario finalizar la transacción manualmente mediante SQL ROLLBACK o SQL COMMIT
Introducción
11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5 | ; Borrar todas las filas de la transacción Q5 excepto la fila 5 |
La función NC contiene los siguientes elementos sintácticos:
Elemento sintáctico | Significado |
---|---|
SQL ROLLBACK | Sintaxis de apertura para el comando SQL ROLLBACK |
Q/QL/QR o Q REF | Variable en la que el control numérico guarda el resultado |
HANDLE | Parámetro Q con la identificación de la transacción |
ÍNDICE | Número de fila dentro de Result set como número o variable que se conserva Si no se indica nada, el control numérico descarta todos los cambios y ampliaciones de la transacción Elemento sintáctico opcional |
Ejemplo
11 SQL BIND Q881 "Tab_Example.Position_Nr" |
12 SQL BIND Q882 "Tab_Example.Measure_X" |
13 SQL BIND Q883 "Tab_Example.Measure_Y" |
14 SQL BIND Q884 "Tab_Example.Measure_Z" |
* - ... |
21 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example" |
* - ... |
31 SQL FETCH Q1 HANDLE Q5 INDEX+Q2 |
* - ... |
41 SQL ROLLBACK Q1 HANDLE Q5 |