SQL Server 2008:当前事务没有“释放保存点”

时间:2010-06-23 11:53:27

标签: sql sql-server-2008

我正在使用PHP数据库抽象层来处理MySQL和SQL Server。 MySQL有一个'发布保存点'语句,SQL Server不支持,我在T-SQL中找不到可比较的语句来代替它。有没有人知道解决这个问题的方法,还是可以安全地忽略缺乏功能?

我很感激任何见解!

干杯

3 个答案:

答案 0 :(得分:1)

在SQL Server中,您无需执行任何操作即可释放保存点。保存点在最终事务提交或回滚时自动“释放”,您无需在中间进行管理。

答案 1 :(得分:0)

我对MySQL知之甚少,但听起来有点像使用

Save Transaction <Name> and Rollback Transaction <Name>

将事务部分回滚到命名点。见MSDN

答案 2 :(得分:0)

ANSI标准语法是SAVEPOINT,ROLLBACK TO SAVEPOINT和RELEASE SAVEPOINT。 Oracle,DB / 2,MySQL,Postgres,Sybase,Informix,Interbase和Firebird都使用相同的标准语法。 SQL Server是一个古怪的语法,没有“释放”。

正如Remus Rusanu所说,但并不是严格要求,但如果知道不再需要保存点,它可以帮助数据库更好地管理内部资源(这肯定有助于Oracle,Interbase和Firebird等多代架构)。 / p>