![]() |
1
5
在Oracle中,您可以调用dbms_transaction.local_transaction_id。这将返回当前事务的唯一标识符,或者如果没有活动事务,则返回空值。 分享和享受。 |
![]() |
2
4
|
![]() |
3
2
如果您使用的是PB11.5并使用自定义事务对象,那么很容易做一些与DBMS无关的事情。在事务对象的sqlpreview事件中,只需在插入、更新或删除经过时打开布尔值,然后在提交或回滚经过时关闭布尔值。 实际上,如果您使用的是sqlca,那么在自定义事务对象中进行交换并不难:application、properties、additional properties、variable types、sqlca。如果您使用许多单独的数据库连接和许多“create transaction”语句(标准的pb搜索可以找到这个,或者 PBL Peeper 可以帮助您在单词之间使用不同数量的空格来查找它),然后实现它将更加困难,但并非不可能。 为了完整起见,要创建一个自定义事务对象file/new/pb object/standard class/transaction。您有一个常规的用户对象,您可以在其中定义实例变量(如我建议的布尔值)、脚本事件(如我建议的sqlpreview事件)和函数(您可能希望为该功能创建一个接口,以便在将来扩展它时隐藏详细信息)。注意,sqlpreview在11.5之前的事务对象上不可用。(对于那些认为它在11.5之前听起来很熟悉的人,datawindow实现了一个sqlpreview。) 祝你好运, 特里。 |
![]() |
4
1
在Oracle中有一个视图
如果没有未提交的事务,则此查询将返回未找到的数据。默认情况下,V$视图不会授予用户,因为它们实际上是一个dba thang。但是,具有适当特权的用户可以将此查询转换为视图并授予对常规joe的访问权。 有趣的是,你到底想做什么?假设工作单元定义正确,并且有两个更新,那么只提交一个肯定是错误的。如果您只想知道这个异常终止发生了,那么您需要某种形式的跟踪或日志记录。 编辑
鲍勃贾维斯
proposes
使用
|
![]() |
5
0
为了方便对您的场景进行故障排除,您可能希望考虑使用显式命名的本地事务,以及使用带有标记__选项的__。这允许您将显式事务的名称记录到事务日志中,当然,您可以在稍后的阶段检查该事务,以确定已发生的事件序列。 请参阅SQL Server联机丛书: Marked Transactions |
![]() |
6
0
在SQL Server中,运行以下命令:
|
![]() |
7
0
在SQL Server 2005/2008中,可以使用DMV。退房 this article |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 5 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 5 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 5 月前 |