beautypg.com

Sql commit, Sql rollback – HEIDENHAIN TNC 640 (34059x-05) User Manual

Page 340

background image

Programming: Q Parameters

9.9

Accessing tables with SQL commands

9

340

TNC 640 | User's Manual

HEIDENHAIN Conversational Programming | 1/2015

SQL COMMIT

SQL COMMIT transfers all rows in the result set back to the table. A
lock set with

SELECT...FOR UPDATE is canceled.

The handle given in the

SQL SELECT command loses its validity.

Parameter no. for result: Q parameter, in which
the SQL server has reported the result:
0: No error occurred
1: Error occurred (incorrect handle or equal entries in
columns requiring unique entries)
Database: SQL access ID: Q parameter with the

handle

for identifying the result set (also see

SQL

SELECT).

11SQL BIND Q881

"TAB_EXAMPLE.MEAS_NO"

12SQL BIND Q882

"TAB_EXAMPLE.MEAS_X"

13SQL BIND Q883

"TAB_EXAMPLE.MEAS_Y"

14SQL BIND Q884

"TAB_EXAMPLE.MEAS_Z"

. . .
20SQL Q5 "SELECT

MEAS_NO,MEAS_X,MEAS_Y,

MEAS_Z FROM TAB_EXAMPLE"

. . .
30 SQL FETCH Q1HANDLE Q5 INDEX

+Q2

. . .
40 SQL UPDATEQ1 HANDLE Q5 INDEX

+Q2

. . .
50 SQL COMMITQ1 HANDLE Q5

SQL ROLLBACK

How

SQL ROLLBACK is executed depends on whether INDEX is

programmed:

If

INDEX is not programmed: The result set is

not

written back to

the table (any changes/insertions are discarded). The transaction
is closed and the handle given in the

SQL SELECT command

loses its validity. Typical application: Ending a transaction solely
containing read-accesses.

If

INDEX is programmed: The indexed row remains. All other rows

are deleted from the result set. The transaction is

not

concluded.

A lock set with

SELECT...FOR UPDATE remains for the indexed

row. For all other rows it is reset.

Parameter no. for result: Q parameter, in which
the SQL server has reported the result:
0: No error occurred
1: Error occurred (incorrect handle)
Database: SQL access ID: Q parameter with the

handle

for identifying the result set (also see

SQL

SELECT).
Database: Index to SQL result: Line that is to
remain in the result set. Either enter the row
number directly or program the Q parameter
containing the index

11SQL BIND Q881

"TAB_EXAMPLE.MEAS_NO"

12SQL BIND Q882

"TAB_EXAMPLE.MEAS_X"

13SQL BIND Q883

"TAB_EXAMPLE.MEAS_Y"

14SQL BIND Q884

"TAB_EXAMPLE.MEAS_Z"

. . .
20SQL Q5 "SELECT

MEAS_NO,MEAS_X,MEAS_Y,

MEAS_Z FROM TAB_EXAMPLE"

. . .
30 SQL FETCH Q1HANDLE Q5 INDEX

+Q2

. . .
50 SQL ROLLBACKQ1 HANDLE Q5