Sql commit, Sql rollback, 8 a c cesos a tablas con instr u cciones-sql – HEIDENHAIN TNC 640 (34059x-01) ISO programming Manual del usuario

Página 266

Advertising
background image

266

Programación: Parámetros Q

8.8 A

c

cesos a tablas con instr

u

cciones-SQL

SQL COMMIT

SQL COMMIT

vuelve a transferir todas las líneas existentes en el Result-

set a la tabla. Se desactiva un bloqueo fijado con SELCT...FOR UPDATE.

El handle adjudicado en la instrucción SQL SELECT pierde su validez.

U

Núm. de parámetro para resultado

: parámetro Q, en

el cual el servidor SQL emite el resutado:
0: no se ha producido ningún error
1: se ha producido un error (handle erróneo o entradas
repetidas en columnas, en las cuales se requieren
entradas claras)

U

Base de datos: ID de acceso SQL

: parámetro Q, con

el handle para la identificación del Result-set (ver
también SQL SELECT).

SQL ROLLBACK

La ejecución del SQL ROLLBACK depende de si el ÍNDICE ya se ha
programado:

„

ÍNDICE

sin programar: el Result-set no se contesta en la tabla (se

perderán las modificaciones/adiciones eventuales). Se cierra la
transacción – el handle adjudicado en SQL SELECT pierde su validez.
Aplicación típica: se finaliza una transacción con accesos en modo
lectura exclusivamente.

„

ÍNDICE

programado: la línea indexada se mantiene invariable – todas

las demás líneas se eliminan del Result-set. No se cierra la
transacción. Un bloqueo fijado con SELCT...FOR UPDATE se mantiene
invariable solo para líneas indexadas – para todas las demás líneas
se desactiva.

U

Núm. de parámetro para resultado

: parámetro Q, en

el cual el servidor SQL emite el resutado:
0: no se ha producido ningún error
1: se ha producido un error (handle erróneo)

U

Base de datos: ID de acceso SQL

: parámetro Q, con

el handle para la identificación del Result-set (ver
también SQL SELECT).

U

Base de datos: Índice para el resultado SQL

: línea

que debe permanecer en el Result-set. El número de
línea se indica directamente o se programa el
parámetro Q que contenga el Índice.

Ejemplo:

11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"

12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"

. . .

30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

. . .

40 SQL UPDATE Q1 HANDLE Q5 INDEX+Q2

. . .

50 SQL COMMIT Q1 HANDLE Q5

Ejemplo:

11 SQL BIND Q881 "TAB_EXAMPLE.MESS_NR"

12 SQL BIND Q882 "TAB_EXAMPLE.MESS_X"

13 SQL BIND Q883 "TAB_EXAMPLE.MESS_Y"

14 SQL BIND Q884 "TAB_EXAMPLE.MESS_Z"

. . .

20 SQL Q5 "SELECT MESS_NR,MESS_X,MESS_Y,
MESS_Z FROM TAB_EXAMPLE"

. . .

30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

. . .

50 SQL ROLLBACK Q1 HANDLE Q5

Advertising