【问题标题】:How to create alphanumeric Sequence without using Trigger如何在不使用触发器的情况下创建字母数字序列
【发布时间】:2015-10-20 15:29:45
【问题描述】:

序列应该是这样的:-

A1
A2
A3
B1
B2
B3
C1
C2
C3

【问题讨论】:

  • Z3 之后应该发生什么?
  • 您知道您的序列几乎不可避免地会出现空白吗?通过删除、未提交的插入等?而且,正如评论的那样,如果表格超过 78 行,你会怎么做?如果它是一组固定的数据并且您只生成一次 - 那么这并不难。拉利特给出了一个很好的例子。但是如果数据是可变的,那么你可能需要考虑更多
  • 非常感谢 Lalitji...
  • @RanjanJena 如果答案对您有所帮助,请将其标记为已回答。

标签: sql oracle sequence alphanumeric


【解决方案1】:

您可以使用 ROW GENERATOR 技术来做到这一点。

SQL>  WITH data
  2       AS (SELECT Chr(65 + LEVEL - 1) str
  3           FROM   dual
  4           CONNECT BY LEVEL <= 3)
  5  SELECT str
  6         ||column_value AS alphanumeric_sequence
  7  FROM   data,
  8         TABLE(Cast(MULTISET (SELECT LEVEL
  9         FROM   dual
 10         CONNECT BY LEVEL < 3 + 1) AS sys.ODCINUMBERLIST));

ALPHANUMERIC_SEQUENCE
-----------------------------------------
A1
A2
A3
B1
B2
B3
C1
C2
C3

9 rows selected.

LEVEL 硬编码为上面的3,您可以根据需要更改它。该示例是根据您发布的输出。

【讨论】:

    猜你喜欢
    • 2015-06-08
    • 2012-05-05
    • 2015-08-25
    • 2015-07-01
    • 2019-01-15
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多