Как отметил Тилио, это, как правило, плохой дизайн как из-за производительности, так и из-за проблемы параллелизма.Если мы предполагаем, что у вас однопользовательская система и вы не особенно обеспокоены производительностью, вы можете сделать что-то вроде
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