Sql commit, Sql rollback, Sql commit sql rollback – Инструкция по эксплуатации HEIDENHAIN TNC 620 (340 56x-03) ISO programming
Страница 251: 8 д о ст уп к таб л иц ам с sql- инстр укциями
HEIDENHAIN TNC 620
251
8.8
Д
о
ст
уп
к
таб
л
иц
ам
с
SQL-
инстр
укциями
SQL COMMIT
SQL COMMIT передает все имеющиеся в буфере Result-set
строки обратно в таблицу. Назначенная с помощью SELCT...FOR
UPDATE блокировка отменяется.
Назначенный в инструкции SQL SELECT Handle становится
недействительным.
U
Номер параметра результата: Q-параметр, в
который SQL-сервер сообщает результат:
0: ошибка не появилась
1: ошибка появилась (неверный Handle или те же
самые данные в столбцах, в который требуются
однозначные данные)
U
База данных: SQL-доступ-ID: Q-параметр, с Handle
для идентификации буфера набора результатов
(см. также SQL SELECT).
SQL ROLLBACK
Выполнение SQL ROLLBACK зависит от того, программировался
ли ИНДЕКС:
ИНДЕКС не запрограммирован: буфер набора результатов не
записывается в таблицу (имеющиеся изменения/дополнения
теряются). Транзакция завершается – назначенный в SQL
SELECT Handle теряет свою важность. Типичное
использование: оператор заканчивает транзакцию в режиме с
правом чтения.
ИНДЕКС запрограммирован: выделенная строка сохраняется –
все другие строки удаляются из Result-set. Транзакция не
заканчивается. Установленная с SELCT...FOR UPDATE
блокировка сохраняется для выделенной строки – для всех
остальных строк она отменяется.
U
Номер параметра результата: Q-параметр, в
который SQL-сервер сообщает результат:
0: ошибка не появилась
1: ошибка появилась (неверный Handle)
U
База данных: SQL-доступ-ID: Q-параметр, с Handle
для идентификации буфера набора результатов
(см. также SQL SELECT).
U
База данных: индекс к 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 "SELECT
MESS_NR,MESS_X,MESS_Y, MESS_Z FROM
TAB_EXAMPLE"
. . .
30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2
. . .
40 SQL UPDATE Q1 HANDLE Q5 INDEX+Q2
. . .
50 SQL COMMIT Q1 HANDLE Q5
Пример:
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 "SELECT
MESS_NR,MESS_X,MESS_Y, MESS_Z FROM
TAB_EXAMPLE"
. . .
30 SQL FETCH Q1 HANDLE Q5 INDEX+Q2
. . .
50 SQL ROLLBACK Q1 HANDLE Q5