Una transacción, Accesos a tablas con instrucciones sql 9.9 – HEIDENHAIN TNC 640 (34059x-04) Manual del usuario

Página 323

Advertising
background image

Accesos a tablas con instrucciones SQL

9.9

9

TNC 640 | Modo de empleo Diálogo en lenguaje conversacional HEIDENHAIN | 5/2014

323

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 líneas del Result-set, modificar y/o añadir nuevas líneas:

– Aceptar una línea del Result-sets en el parámetro Q de su
programa NC (

SQL FETCH...) – Preparar modificaciones en los

parámetros Q y transferirlas a una línea del Result-set (

SQL

UPDATE...) – Preparar nuevas líneas de tabla en los parámetros
Q y transmitirlas como una nueva línea al Result-set (

SQL

UPDATE...)

4 Finalizar las transacciones. – Las anotaciones de tablas se

han modificado/completado: – 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...). – Las anotaciones de tablas

no

se han

modificado/completado (solo 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