Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Gere todas as combinações possíveis de strings de determinado comprimento no oracle


Você não precisa de PL/SQL para gerar uma sequência alfabética. Você poderia fazer isso em SQL puro usando o Gerador de Linhas método.
WITH combinations AS
  (SELECT chr( ascii('A')+level-1 ) c FROM dual CONNECT BY level <= 26
  )
SELECT * FROM combinations
UNION ALL
SELECT c1.c || c2.c FROM combinations c1, combinations c2
UNION ALL
SELECT c1.c
  || c2.c
  || c3.c
FROM combinations c1,
  combinations c2,
  combinations c3
/

O acima forneceria todas as combinações possíveis c1 , c2 , c3 para um e dois caracteres. Para mais combinações, basta adicionar combinações como c4 , c5 etc.