gpt4 book ai didi

db2 - z/OS 上的 DB2 CURRENT TIMESTAMP 是否返回唯一值?

转载 作者:行者123 更新时间:2023-12-04 22:33:31 25 4
gpt4 key购买 nike

我们有一个在 z/OS 上运行的 DB2,一些表使用时间戳作为主键。

我的观点是,在同一纳秒内调用 CURRENT TIMESTAMP 的两个事务可能会返回完全相同的时间戳。

我的同事认为同一个数据库上的 CURRENT TIMESTAMP 函数总是唯一的。

DB2 documentation这里不是很清楚。

是否有来自 IBM 的官方声明来证明一个或另一个论点?我只找到了一个针对 UNIX DB2 的声明,它可能不适用于 z/OS。

谢谢。

最佳答案

有些情况下它不是唯一的。它们是:

  1. 日期时间专用寄存器以内部格式存储。当在单个 SQL 语句中隐式或显式指定这些寄存器中的两个或多个时,它们代表同一时间点
  2. 如果使用日期时间特殊寄存器的 SQL 语句位于触发器范围内的用户定义函数或存储过程中,DB2 将时间戳用于触发 SQL 语句确定特殊寄存器的值。

来源:http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db2.doc.sqlref/xfbb68.htm#xfbb68

你应该使用 GENERATE_UNIQUE()如果你想要一个独特的时间戳。这里的好例子:http://www.mainframesupport.dk/tips/tip0925.html

关于db2 - z/OS 上的 DB2 CURRENT TIMESTAMP 是否返回唯一值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153644/

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