需要在Oracle中生成我选择的序列号

问题描述 投票:0回答:1

我有要求。

有三个表,有些表中以后的数据需要合并,应将其提供给用户以进行审核。

是否有一种生成每个表唯一的序列号的方法,以使序列号不会重叠。

例如:表A可以包含1到100000之间的数字表B可以包含200000至300000的数字表C的数字应从300000到400000

我认为可以通过标识列选项(例如起始值和最大值)来完成。如果我选择身份,则生成的序列将不受我的控制,它将由Oracle随机选择。

有任何方法可以通过row_number函数轻松完成吗?

sql oracle sequence identity row-number
1个回答
0
投票

您可以直接使用row_number()函数从1中生成数字:

row_number() Over(Order by field_name)

如果要自定义计数的起始位置,可以将其添加到行号中。例如,如果要从1001开始:

1000 + row_number() Over(Order by field_name)

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.