Oracle设置事务(SET TRANSACTION语句)
这篇Oracle教程解释了如何在Oracle中使用SET TRANSACTION
语句的语法和示例。
在Oracle中,SET TRANSACTION
语句用于将事务设置为只读,将事务设置为读/写,设置事务的隔离级别,为事务分配名称或将事务分配回滚段。
语法
Oracle / PLSQL中SET TRANSACTION
语句的语法是:
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'
标识的事务分配一个名称,该事务用引号括起来。
示例
我们来看一个演示如何在Oracle中使用SET TRANSACTION
语句的示例。
只读
首先,下面来看看看如何使用SET TRANSACTION
语句将事务设置为只读。
例如:
SET TRANSACTION READ ONLY NAME 'RO_example';
此SET TRANSACTION
示例会将当前事务设置为只读,并为其分配“RO_example”
的名称。
读写
接下来,下面来看看看如何使用SET TRANSACTION
语句将事务设置为读/写。
例如:
SET TRANSACTION READ WRITE NAME 'RW_example';