Una transacción – HEIDENHAIN TNC 640 (34059x-02) Manual del usuario

Página 316

Advertising
background image

Programación: Parámetros Q

9.9

Accesos a tablas con instrucciones SQL

9

316

TNC 640 | Modo de empleo Diálogo en lenguaje conversacional HEIDENHAIN | 12/2013

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