Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Транзакции в isql
Разделы на этой странице:
Транзакции в isql
Управление транзакциями в isql отличается в зависимости от того, вводите ли вы оператор DDL, команду SHOW или другие виды операторов.
Когда isql стартует, она запускает транзакцию с уровнем изоляции SNAPSHOT (параллельный) с установкой разрешения блокировок WAIT. Если вы выполняете не операторы DDL и не команды SHOW, транзакция продолжает оставаться текущей, пока вы не выдадите оператор COMMIT или ROLLBACK.
Вы можете стартовать явную транзакцию, подтвердив текущую транзакцию, и выдав оператор SET TRANSACTION. Например, для старта транзакции READ COMMITTED NO WAIT введите:
SQL> COMMIT;
SQL> SET TRANSACTION
CON> NO WAIT READ COMMITTED;
При завершении вашей задачи просто выдайте как обычно оператор COMMIT. Следующий оператор вернет систему в конфигурацию по умолчанию.
Операторы DDL
Каждый раз, когда вы выдаете оператор DDL, isql стартует для него специальную транзакцию и немедленно ее подтверждает после того, как вы нажимаете клавишу <Enter>. Сразу после этого стартует новая транзакция. Вы можете изменить автоматическое поведение, выдав команду SET AUTODDL OFF из подсказки SQL до начала выполнения ваших операторов DDL:
SQL> SET AUTODDL OFF;
Чтобы опять включить режим автоматического подтверждения операторов DDL, введите:
SQL> SET AUTODDL ON;
Для переключения между режимами включено/выключено существует сокращенная версия команды:
SQL> SET AUTO;
Команды SHOW
Команды SHOW в isql запрашивают данные из системных таблиц. Когда вы вызываете команду SHOW, isql подтверждает существующую транзакцию и стартует новую с уровнем изоляции READ COMMITTED. Это гарантирует, что вы всегда видите самые последние изменения метаданных, как только они будут изменены.
- Общие команды isql
- Запуск isql
- Установка в isql диалекта
- Запуск транзакции
- SET TERM больше не нужен в isql
- 10.5. Транзакции и пути доступа меню
- Использование isql -a
- ГЛАВА 37. Интерактивный SQL (утилита isql).
- 12.5. Транзакции и пути доступа меню
- 15.11. Транзакции и пути доступа меню
- Листинг 4.6. (critical_section.c) Защита банковской транзакции с помощью критической секции
- Транзакции