Отмена изменений в транзакции с SQL ROLLBACK
Применение
SQL ROLLBACK отменяет все изменения и дополнения в рамках запроса. Запрос определяется через указываемый HANDLE.
Условия
- Введено кодовое число 555343
- Таблица существует
- Подходящее имя таблицы
Имена таблиц и столбцов должны начинаться с букв и не должны содержать математические символы, например +. Наличие подобных символов может вследствие особенности SQL-команд привести к проблемам при чтении и записи данных.
Описание функций
Функция SQL-команды SQL ROLLBACK зависит от INDEX:
- Без INDEX:
- Система ЧПУ отменяет все изменения и дополнения в рамках запроса
- Система ЧПУ сбрасывает установленную с помощью SELECT...FOR UPDATE блокировку
- Система ЧПУ закрывает запрос (HANDLE утрачивает своё значение)
- С INDEX:
- Только указанная строка остаётся в Result-set (система ЧПУ удаляет все остальные строки)
- Система ЧПУ отменяет все возможные изменения и дополнения в не заданных строках
- Система ЧПУ блокирует только указанные в SELECT...FOR UPDATE строки (система ЧПУ отменяет все другие блокировки)
- Указанная строка становится новой строкой 0 Result-set
- Система ЧПУ не закрывает запрос (HANDLE остаётся действительным)
- Необходимо последующее завершение запроса при помощи SQL ROLLBACK или SQL COMMIT
Ввод
11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5 | ; Удалить все строки транзакции Q5 кроме строки 5 |
Функция ЧПУ содержит следующие элементы синтаксиса:
Элемент синтаксиса | Значение |
---|---|
SQL ROLLBACK | Открыватель синтаксиса для команды SQL ROLLBACK |
Q/QL/QR или Q REF | Переменная, в которой система ЧПУ сохраняет результат |
HANDLE | Q-параметр с идентификатором транзакции |
INDEX | Номер строки внутри набора результата как число или переменная, которая остаётся Без спецификации система ЧПУ отменяет все изменения и дополнения в рамках транзакции Необязательный элемент синтаксиса |
Пример
11 SQL BIND Q881 "Tab_Example.Position_Nr" |
12 SQL BIND Q882 "Tab_Example.Measure_X" |
13 SQL BIND Q883 "Tab_Example.Measure_Y" |
14 SQL BIND Q884 "Tab_Example.Measure_Z" |
* - ... |
21 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example" |
* - ... |
31 SQL FETCH Q1 HANDLE Q5 INDEX+Q2 |
* - ... |
41 SQL ROLLBACK Q1 HANDLE Q5 |