Sql commit sql rollback, 9 д о ст упы к таб л ицы с sql- инстр укциями – Инструкция по эксплуатации HEIDENHAIN TNC 320 (340 551-02)

Страница 388

Advertising
background image

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

Advertising