gpt4 book ai didi

perl - postgresql 连接并关闭自动提交

转载 作者:行者123 更新时间:2023-11-29 12:34:25 25 4
gpt4 key购买 nike

我正在用 perl 编程,并且与我的 postgres 数据库有一个现有的连接(以编程方式)。建立连接后,我不控制连接代码,我想将自动提交设置为关闭。

如何做到这一点?当我以交互方式执行时,我看不到任何变化。我\set autocommit off 然后插入,我看到了变化。我执行回滚,发现不存在事务。

我想关闭自动提交,完成我的工作然后提交。如何通过现有连接实现这一目标?

谢谢礼萨

最佳答案

您不应该在连接中间禁用自动提交,因为它是意外的并且容易出错。

最好的方法是使用如下方式明确地开始和结束交易:

$dbh->begin_work();
foreach($statement1, $statement2, $statement3) {
$dbh->execute($_)
or do { $dbh.rollback(); return -1 }
}
$dbh->commit();

begin_work() 将暂时关闭自动提交,直到下一次提交或回滚。

但是如果你认为你真的需要伤害自己,那么 perl 不会阻止你:

$dbh->{AutoCommit} = 0;

关于perl - postgresql 连接并关闭自动提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4088940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com