gpt4 book ai didi

sql - 我如何在 Firebird 中使用事务?

转载 作者:太空狗 更新时间:2023-10-30 01:46:33 25 4
gpt4 key购买 nike

在 MS SQL Server 中,我可以轻松地将多个插入语句放入一个事务中,如下所示:

begin tran
insert into mytable values (1, 2, 3)
insert into mytable values (4, 5, 6)
commit tran

我正试图在 Firebird 中做同样的事情,但我无法弄清楚语法。谷歌搜索“Firebird 事务语法”没有返回任何有用信息。我发现足够多的东西知道事务支持存在,但没有关于如何正确使用它的示例。

所以我想我不妨在这里问一下。有谁知道如何为 Firebird 数据库编写使用多个插入的事务?

最佳答案

补充@Allan 的回答(我赞成,顺便说一句),这里有一些更多信息。

当您在 SQL Server 中执行 begin tran 时,并不意味着您现在开始事务。你已经在交易中了,因为你已经连接到数据库了! begin tran 的真正作用是禁用“在每个语句处自动提交”,这是 SQL Server 中的默认状态(除非另有说明)。

分别地,commit tran 提交连接并将连接恢复为“在每个语句自动提交”状态。

在任何数据库中,当您连接时,您已经处于事务中。数据库就是这样。例如,在 Firebird 中,即使只运行了一个查询,您也可以执行提交或回滚。

另一方面,一些数据库和连接库允许您使用连接的“在每个语句自动提交”状态,这就是 SQL Server 正在做的事情。尽管该功能可能很有用,但它不是很有说服力,并且会让初学者认为他们“不在交易中”。

关于sql - 我如何在 Firebird 中使用事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6256678/

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