Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle 11g:INSERT SELECT с оператор WITH

както е споменато тук:https://forums.oracle.com/thread/696477 и тук:вмъкнете израз с невалидна клауза идентификатор oracle

клаузата WITH е част от оператора select, така че просто се опитайте да обвиете всичко с оператор INSERT, както е показано по-долу:

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);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY / объркване на агрегатната функция в SQL

  2. как да използвате dbms_scheduler за изпълнение на заданието на всеки 30 минути

  3. Създайте таблица в процедурата

  4. Ограничението при получаване на blob данни от Oracle

  5. Таблица за попълване на диапазони