我有一个用于序列号的列。 该列中的值看起来像'WT0000004568'
我需要找到最大值并将计数器部分递增1以创建新的序列号。 对于此示例,结果值将为“WT0000004569”。
我该怎么做?
答案 0 :(得分:5)
正如Thilio指出的那样,从性能和并发问题来看,这通常是一个糟糕的设计。如果我们假设您拥有单个用户系统并且不特别关注性能,那么您可以执行类似
的操作SQL> ed
Wrote file afiedt.buf
1 select 'WT' ||
2 to_char(
3 to_number(substr('WT0000004568',3)) + 1,
4 'fm0000000000')
5* from dual
SQL> /
'WT'||TO_CHAR
-------------
WT0000004569