sql >> Database >  >> RDS >> Oracle

Tabeltransformatie / veldparsing in PL/SQL

Een ander alternatief is om de modelclausule te gebruiken:

SQL> select id
  2       , value
  3    from codes
  4   model
  5         return updated rows
  6         partition by (id)
  7         dimension by (-1 i)
  8         measures (value)
  9         ( value[for i from 0 to length(value[-1])-length(replace(value[-1],',')) increment 1]
 10           = regexp_substr(value[-1],'[^,]+',1,cv(i)+1)
 11         )
 12   order by id
 13       , i
 14  /

        ID VALUE
---------- -------------------
        10 A
        10 B
        10 C
        11 A
        11 B
        12 A
        12 B
        12 C
        12 D
        12 E
        12 F
        13 R
        13 T
        13 D
        13 W
        13 W
        13 W
        13 W
        13 W
        13 S
        13 S

21 rows selected.

Ik heb tot 6 alternatieven voor dit type zoekopdracht in deze blogpost geschreven:http://rwijk.blogspot.com/2007/11/interval-based-row-generation.html

Groeten, Rob.



  1. Hoe gebruik je de methode password_hash() van php...?

  2. MYSQL-volgorde op leuk/niet leuk en populariteit

  3. Entity Framework 6 voor MySql (C#) inschakelen in WinForms van Microsoft Visual Studio 2013

  4. Maak verbinding met mysql op Amazon EC2 vanaf een externe server