0

我想在 IBM DB2 中获取最后 10 个数据库事务.. 表示在 DB2 中执行的最后 10 个事务..

4

3 回答 3

2

根据您的需要,您必须设置DB2 审计工具或使用活动事件监视器

于 2013-07-03T15:02:02.810 回答
0

如果表中有列可用于确定正确的顺序,例如事务编号或序列引用生成的值,或可用于 ORDER BY 的某些列,则只需添加在 ORDER BY 子句中的每一列之后进行 DESCENDING,并 FETCH FIRST 10 ROWS。

于 2013-07-03T17:18:09.580 回答
0

SQL 表没有隐式排序,顺序必须来自数据。也许您应该在表中添加一个字段(例如一个 int 计数器)并重新导入数据。

如果您不能这样做,那么在编写此答案时,我又想到了一个想法。我们可以使用 rownum 来获取最后 10 条记录吗?也许是的,这是你可以尝试的,我只是提出这个想法,没有测试过。

  • 从表中获取 MAX(rownum)
  • 从表中获取 max(rownum) 到 max(rownum) -10 之间的记录

Aghh 听起来很难看,但看看它是否适合你。

顺便说一句,如果您不了解 rowid,那么这里是了解相关信息的链接:

http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.apdv.porting.doc%2Fdoc%2Fr0052875.html

于 2013-07-03T06:26:03.667 回答