postgresql libpqxx 多个查询作为一个事务

postgresql libpqxx Several queries as one transaction

是否可以执行一个包含多个查询的事务,例如在table1 中插入smth,在table2 中插入smth?我该如何实施?我使用 libpqxx 与数据库进行交互,并期待与此相关的答案。谢谢。

pqxx::work 是默认交易类型。 在commit()之前使用多个exec()方法在一个事务中运行多个查询:

using namespace pqxx;
...
  connection c("dbname=test user=postgres hostaddr=127.0.0.1");
  work w(c);
  w.exec("create table test_xx (id int primary key)");
  w.exec("insert into test_xx values (1)");
  w.commit();
...