【发布时间】:2021-07-13 21:52:21
【问题描述】:
Bigquery 是否支持单个 DML(插入、更新、删除)SQL 语句回滚?
换句话说,是否有一个选项可以让单个 DML 语句成为一个自动提交事务,并在失败时支持回滚?
感谢您提前回复。 史蒂夫。
【问题讨论】:
标签: google-bigquery
Bigquery 是否支持单个 DML(插入、更新、删除)SQL 语句回滚?
换句话说,是否有一个选项可以让单个 DML 语句成为一个自动提交事务,并在失败时支持回滚?
感谢您提前回复。 史蒂夫。
【问题讨论】:
标签: google-bigquery
BigQuery 中有一项新功能支持多语句事务时的回滚。看看official docs。它还没有在 GA 中。
BigQuery 支持脚本内的多语句事务。多语句事务允许您在一个或多个表上执行变异操作,例如插入或删除行,并以原子方式提交或回滚更改。
多语句交易的用途包括:
- 在多个表上作为单个事务执行 DML 突变。这些表可以跨越多个数据集或项目。
- 根据中间计算分几个阶段对单个表执行突变。
事务保证 ACID 属性并支持快照隔离。在事务期间,所有读取都会返回事务中引用的表的一致快照。如果事务中的语句修改了表,则更改对同一事务中的后续语句可见。
在只有一个 DML 语句的情况下,BigQuery 也是 ACID 投诉。这是记录在here。
如果更新失败,您将不会更新 X 行。
【讨论】: