Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 增量列值_Sql_Db2 - Fatal编程技术网

Sql 增量列值

Sql 增量列值,sql,db2,Sql,Db2,我正在尝试增加列的值,并以线程安全的方式将其返回给调用者。尽管我在论坛上看到了许多解决方案,但我还没有看到一个能够确保数据库的两个不同客户端不会得到相同的结果。我将要创建的表如下所示: Column Name Data Type ----------- -------------- Description varchar(50) CurrentValue int Description CurrentValue ----------------

我正在尝试增加列的值,并以线程安全的方式将其返回给调用者。尽管我在论坛上看到了许多解决方案,但我还没有看到一个能够确保数据库的两个不同客户端不会得到相同的结果。我将要创建的表如下所示:

Column Name    Data Type
-----------    --------------
Description    varchar(50)
CurrentValue   int
Description           CurrentValue
----------------      ---------------------
Billing               123422
Policy                28383
表中的数据如下所示:

Column Name    Data Type
-----------    --------------
Description    varchar(50)
CurrentValue   int
Description           CurrentValue
----------------      ---------------------
Billing               123422
Policy                28383
因此,有了这些信息,我如何以线程安全的方式(没有竞争条件)增加CurrentValue列中的值,并将其返回给导致其增加的用户

我非常确定我将运行的平台是DB2,客户机是Java应用程序

至少在PostgreSQL、MS SQL和Oracle中,数据库序列()应该解决这个问题。因此,具有递增数字的列应该是一个
ID
列(或原则上类似的列),该列从其绑定的序列中读取其值


每次序列上出现
SELECT
(即读取)时,它的值都会递增,无论您以后如何处理该值。

谢谢。。。这正是我想要的。下一页讨论DB2的SEQUENCE对象