Sql commit, Sql rollback – Инструкция по эксплуатации HEIDENHAIN TNC 640 (34059x-04)

Страница 334

Advertising
background image

Программирование: Q-параметры

9.9

Доступ к таблицам с помощью SQL-инструкций

9

334

TNC 640 | Руководство пользователя "Диалог открытым текстом HEIDENHAIN" | 8/2014

SQL COMMIT

SQL COMMIT

передает все имеющиеся в буфере Result-set строки

обратно в таблицу. Назначенная с помощью SELCT...FOR UPDATE

блокировка отменяется.
Назначенный в инструкции SQL SELECT Handle становится

недействительным.

Номер параметра результата

: Q-параметр, в

который SQL-сервер сообщает результат:

0: ошибка не появилась

1: ошибка появилась (неверный Handle или те же

самые данные в столбцах, в которых требуются

однозначные данные)
База данных: SQL-доступ-ID

: Q-параметр, с

Handle

для идентификации буфера набора

результатов (см. также SQL SELECT).

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

"SELECTMESS_NR,MESS_X,MESS_Y,

MESS_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

Выполнение SQL ROLLBACK зависит от того, программировался

ли ИНДЕКС:

ИНДЕКС

не запрограммирован: буфер набора результатов

не

записывается в таблицу (имеющиеся изменения/дополнения

теряются). Транзакция завершается – назначенный в

SQL SELECT

Handle теряет свою важность. Типичное

использование: оператор заканчивает транзакцию в режиме с

правом чтения.
ИНДЕКС

запрограммирован: индексированная строка

сохраняется в буфере набора результатов – все другие

строки удаляются из оттуда. Транзакция

не

заканчивается.

Установленная с SELCT...FOR UPDATE блокировка

сохраняется для выделенной строки – для всех остальных

строк она отменяется.

Номер параметра результата

: Q-параметр, в

который SQL-сервер сообщает результат:

0: ошибка не появилась

1: ошибка появилась (неверный Handle)
База данных: SQL-доступ-ID

: Q-параметр, с

Handle

для идентификации буфера набора

результатов (см. также SQL SELECT).
База данных: индекс к SQL-результату

:

строка, которая должна сохраняться в буфере

набора результатов. Номер строки вводится

непосредственно, либо оператор программирует

Q-параметр, содержащий индекс.

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

"SELECTMESS_NR,MESS_X,MESS_Y,

MESS_Z FROM TAB_EXAMPLE"

. . .
30 SQL FETCH Q1HANDLE Q5 INDEX

+Q2

. . .
50 SQL ROLLBACKQ1 HANDLE Q5

Advertising