举个例子,当一个客户下单购买了一批商品时,订单表会新增几行记录购买信息和金额,库存表会更新这批商品的库存数量(扣减库存)。应用程序中为这个业务做设计时,就需要把 INSERT 和 UPDATE 语句放到一个事务里。

    通常事务中的 SQL 会包含 DML 语句,也会包含查询语句。如果一个事务中的 SQL 只有查询语句,这个事务通常称为只读事务。

    基本的事务控制语句有:

    在图形化客户端工具中,如 ODC,SQL 编辑窗口里可以发出命令,或者工具栏上有提交和回滚的图标。

    说明

    如果会话的 autocommit 变量值是 off 时,并且没有显式的提交事务,程序异常中断时,OceanBase 数据库会自动回滚最后一个未提交的事务。建议显式的提交事务或者回滚事务。