如何不使用触发

如何不使用触发

问题描述:

顺序应该看起来像创建字母顺序: -如何不使用触发

A1 
A2 
A3 
B1 
B2 
B3 
C1 
C2 
C3 
+0

'Z3'应该发生什么? –

+0

你明白你的序列几乎不可避免地会有差距?通过删除,未提交的插入等? 而且,正如评论所说,如果表格增长到78行,你该怎么办? 如果它是一组固定的数据,并且只是生成一次 - 那么这并不难。拉利特给出了一个很好的例子。但如果数据是可变的,那么你可能需要更多地考虑这个问题 –

+0

非常感谢你Lalitji ... –

你可以使用ROW发电机技术做到这一点。

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,你可以改变它按您的要求。该示例是根据您的发布输出。