Una transacción, 9 a c cesos a tablas con instr u cciones sql – HEIDENHAIN TNC 128 (77184x-01) Manual del usuario

Página 219

Advertising
background image

HEIDENHAIN TNC 128

219

8.9 A

c

cesos a tablas con instr

u

cciones SQL

Una transacción

Una transacción consta, principalmente, de las siguientes acciones:

Asignar una dirección a la tabla (fichero), seleccionar líneas y

transferir en el Result-set.

Leer, modificar líneas del Result-set y/o añadir nuevas líneas.

Finalizar las transacciones. En modificaciones/adiciones se aceptan

las líneas desde el Result-set en la tabla (fichero).

Sin embargo, también se necesitan más acciones para que las

entradas de la tabla en el programa NC puedan ser procesadas y evitar

una modificación paralela de las mismas líneas de la tabla. De ello

resulta el siguiente desarrollo de una transacción:

1

Para cada columna que deba procesarse, se especifica un

parámetro Q. El parámetro Q se asigna a la columna – se crea un

enlace (SQL BIND...).

2

Asignar una dirección a la tabla (fichero), seleccionar líneas y

transferir en el Result-set. Adicionalmente se definen, qué

columnas deben ser aceptadas en el Result-set (SQL SELECT...).

Se pueden bloquear las líneas seleccionadas. Entonces otros

procesos pueden tener acceso a esas líneas en modo lectura, pero

no pueden modificar las entradas de la tabla. Por ello siempre

deben bloquearse las líneas seleccionadas al realizar

modificaciones (SQL SELECT ... FOR UPDATE).

3

Leer, modificar líneas del Result-set y/o añadir nuevas líneas:

– Aceptar una línea del Result-set en los parámetros Q del

programa NC (SQL FETCH...)

– Preparar las modificaciones en los parámetros Q y transferir en

una línea el Result-set (SQL UPDATE...)

– Preparar una nueva línea de tabla en los parámetros Q y

trasmitirla como nueva línea en el Result-set (SQL INSERT...)

4

Finalizar la transacción.

– Se han modificado/añadido entradas en la tabla: los datos se

aceptan desde el Result-set en la tabla (fichero). Ahora están

memorizadas en el fichero. Se desactivan eventuales bloqueos, se

libera el Result-set (SQL COMMIT...).

No se han modificado/añadido entradas en la tabla (sólo accesos

en modo lectura): se desactivan eventuales bloqueos, se libera el

Result-set (SQL ROLLBACK... SIN ÍNDICE).

Se pueden ejecutar varias transacciones paralelamente.

Cerrar sin falta una transacción iniciada – incluso al utilizar

exclusivamente accesos en modo lectura. Solamente así

se garantiza que las modificaciones/adiciones no se

perderán, que los bloqueos se desactivarán y que el

Result-set se liberará.

Advertising