beautypg.com

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

Page 284

background image

Programming: Q Parameters

9.8

Accessing tables with SQL commands

9

284

TNC 320 | User's Manual for DIN/ISO Programming | 3/2014

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