SET TRANSACTION ОПЕРАТОР

В этом учебном материале вы узнаете, как использовать оператор SET TRANSACTION Oracle с синтаксисом и примерами.

Описание

В Oracle оператор SET TRANSACTION используется для установки транзакции read-only (только для чтения), установки транзакции read/write (чтения / записи), установки транзакции isolation level (уровень изоляции) транзакции, (assign a name) присвоение имени транзакции, или (assign a rollback segment) назначение сегмента отката для транзакции.

Синтаксис

SET TRANSACTION [ READ ONLY | READ WRITE ]
[ ISOLATION LEVEL [ SERIALIZE | READ COMMITED ]
[ USE ROLLBACK SEGMENT 'segment_name' ]
[ NAME 'transaction_name' ];

Параметры или аргументы

READ ONLY
Необязательный. Если этот параметр задан, он устанавливает транзакцию как транзакция только для чтения.
READ WRITE
Необязательный. Если этот параметр задан, он устанавливает транзакцию как транзакция чтения / записи.
ISOLATION LEVEL
Необязательный. Если задан, то есть два варианта:

  • ISOLATION LEVEL SERIALIZE
    Если транзакция пытается обновить ресурс, который был обновлен другой транзакцией и незавершен, транзакция потерпит неудачу.
  • ISOLATION LEVEL READ COMMITTED
    Если транзакция требует блокировки строк, принадлежащих другой транзакции, то транзакция будет ждать, пока блокировка строк не будет снята.

USE ROLLBACK SEGMENT
Необязательный. Если этот параметр задан, он назначает транзакции сегмент отката, идентифицированного 'segment_name', который является именем сегмента заключеного в кавычки.
NAME
Задает имя транзакции, идентифицированной 'transaction_name', заключеной в кавычки.

Пример

Рассмотрим пример, который показывает, как использовать оператор SET TRANSACTION в Oracle.

READ ONLY

Во-первых, давайте посмотрим, как установить транзакцию read-only (только для чтения) с помощью оператора SET TRANSACTION.

Пример:

SET TRANSACTION READ ONLY NAME 'RO_example';

В этом примере SET TRANSACTION установит текущую транзакцию read-only и присвоить ей имя «RO_example».

READ WRITE

Далее, давайте рассмотрим, как установить транзакции, как read/write (чтение/запись) с помощью оператора SET TRANSACTION.
Например:

SET TRANSACTION READ WRITE NAME 'RW_example';