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

Oracle 11g:INSERT SELECT mit WITH-Anweisung

wie hier erwähnt:https://forums.oracle.com/thread/696477 und hier:Anweisung mit ungültiger Klausel einfügen Kennungsorakel

die WITH-Klausel ist Teil der select-Anweisung, also versuchen Sie einfach, alles mit einer INSERT-Anweisung wie unten zu umschließen:

INSERT INTO SOME_TABLE    
WITH seq AS
     (SELECT to_char(LEVEL - 1) p FROM dual CONNECT BY LEVEL <= 10)
    SELECT old_value,
           new_value
      FROM (SELECT to_char(t1.p) old_value,
                   to_char(t2.p) new_value
              FROM (SELECT row_number() over(ORDER BY p) rn,
                           p
                      FROM seq) t1,
                   (SELECT row_number() over(ORDER BY dbms_random.random) rn,
                           p
                      FROM seq) t2
             WHERE t1.rn = t2.rn);