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

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

    在 obclient 命令环境下,可以在 SQL 提示符后发起事务控制命令,也可以修改会话级别的 autocommit 参数。如果是修改租户级别的 autocommit 参数,需要断开会话重新连接才会生效。

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