beautypg.com

Sql commit, Sql rollback – HEIDENHAIN TNC 320 (34055x-06) ISO programming User Manual

Page 246

background image

Programming: Q Parameters

8.8

Accessing tables with SQL commands

8

246

TNC 320 | User's Manual for DIN/ISO Programming | 5/2013

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 reports the result:
0: no error
1: error occurred (erroneous handle or identical
entries in columns in which unique entries are
required)

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 reports the result:
0: no error
1: error occurred (erroneous handle)

Database: SQL access ID: Q parameter with the

handle

for identifying the result set (also see

SQL

SELECT)

Database: Index for SQL result: Row 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