Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Generieren Sie alle möglichen Kombinationen von Zeichenfolgen bestimmter Länge in Oracle

Sie benötigen kein PL/SQL um eine alphabetische Folge zu erzeugen. Sie könnten dies in reinem SQL tun mit Zeilengenerator Methode.

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
/

Das Obige würde Ihnen alle möglichen Kombinationen geben c1 , c2 , c3 für einzelne und zwei Zeichen. Für mehr Kombinationen könnten Sie einfach Kombinationen als c4 hinzufügen , c5 usw.