首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新ID的序列生成

新ID的序列生成
EN

Stack Overflow用户
提问于 2020-07-13 18:10:51
回答 1查看 69关注 0票数 0

我有一个需求,其中有两个表A和B。有一个名为ID的列,它是A的主键和B表的外键,其中表之间有一对多的关系。在用于ID列的表A中,我们有条目1、2、3,并且对于它们,我们具有对应于一个ID的多个条目,以及表B中名为SEQ的另一列,其中已经为其中的条目创建了序列。现在,对于ID 1的条目,我在表B中有3个条目,序列号为1,2,3,但是当新的ID条目出现时,我需要再次从该ID的1开始排序。**您能帮助我做到这一点吗?

表A

EN

回答 1

Stack Overflow用户

发布于 2020-07-13 18:14:47

我建议您不要存储SEQ值。你为什么要这么做?无论何时需要,它都很容易计算。多么?如下所示,使用row_number解析函数:

代码语言:javascript
复制
SQL> with b (id, name) as
  2    (select 1, 'TRI'   from dual union all
  3     select 1, 'TRI'   from dual union all
  4     select 1, 'TRI'   from dual union all
  5     select 2, 'ROHIT' from dual union all
  6     select 2, 'ROHIT' from dual union all
  7     select 3, 'RAVI'  from dual
  8    )
  9  select id,
 10    name,
 11    row_number() over (partition by id order by null) seq
 12  from b;

        ID NAME         SEQ
---------- ----- ----------
         1 TRI            1
         1 TRI            2
         1 TRI            3
         2 ROHIT          1
         2 ROHIT          2
         3 RAVI           1

6 rows selected.

SQL>

如果你还想存储它,现在你知道怎么做了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62873638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档