Sql commit sql rollback, 9 д о ст упы к таб л ицы с sql- инстр укциями – Инструкция по эксплуатации HEIDENHAIN TNC 320 (340 551-02)
Страница 388
388
10 Программирование: Q-параметры
10.9
Д
о
ст
упы
к
таб
л
ицы
с
SQL-
инстр
укциями
SQL COMMIT
SQL COMMIT передает все имеющиеся в буфере Result-set
строки обратно в таблицу. Назначенная с SELCT...FOR UPDATE
блокировка отменяется.
Назначенный в инструкции SQL SELECT Handle теряет свою
важность.
Номер параметра для результата: параметр Q, в
который сервер SQL сообщает обратно результат:
0: ошибка не появилась
1: ошибка появилась (неверный Handle или те же
самые данные в столбцах, в который требуются
однозначные данные)
База данных: SQL-доступ-ID: параметр Q, с
Handle для идентификации Result-sets (смотри
также SQL SELECT).
SQL ROLLBACK
Выполнение SQL ROLLBACK зависит от того, программировался
ли ИНДЕКС :
ИНДЕКС не программирован: Result-set не записывается в
таблицу (имеющиеся изменения/дополнения теряются).
Трансакция заключается – назначенный в SQL SELECT Handle
теряет свою важность. Типичное применение: оператор
заключает трансакцию исключительно с доступом чтения.
ИНДЕКС программирован: индексированная строка
сохраняется – все другие строки удаляются из Result-set.
Трансакция не заключается. Установленная с SELCT...FOR
UPDATE блокировка сохраняется для индексированной строки
– для всех остальных строк она отменяется.
Номер параметра для результата: параметр Q, в
который сервер SQL сообщает обратно результат:
0: ошибка не появилась
1: ошибка появилась (неверный Handle)
База данных: SQL-доступ-ID: параметр Q, с
Handle для идентификации Result-sets (смотри
также SQL SELECT).
База данных: индекс к результату SQL: строка,
которая должна сохраняться в Result-sets. Номер
строки вводится непосредственно или оператор
программирует 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