Sql commit, Sql rollback, Доступ к таблицам с помощью sql-инструкций 9.9 – Инструкция по эксплуатации HEIDENHAIN TNC 640 (34059x-02)
Страница 325
Доступ к таблицам с помощью SQL-инструкций
9.9
9
TNC 640 | Руководство пользователя «Диалог открытым текстом HEIDENHAIN» | 12/2013
325
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