Oracle
 sql >> Base de données >  >> RDS >> Oracle

Insertion d'Oracle SQL dans avec la clause With

Vous pouvez utiliser autant de 'helper_tables' que vous le souhaitez.

create table t(helper1 varchar2(50) , helper2 varchar2(50) , dataElement varchar2(50) );


insert into t(helper1, helper2, dataelement)
with
     de as(select level lvl from dual connect by level <10)
     ,h1 as (select lvl, lvl/1.5 hp from de)
     ,h2 as (select lvl,  lvl/2 hp2 from de)
select h1.hp , h2.hp2, de.lvl
  from de 
        inner join
       h1 on de.lvl = h1.lvl
        inner join
       h2 on de.lvl = h2.lvl
/

Dans cet esprit, vous pourrez peut-être effectuer toutes vos jointures via une jointure normale des tables à la table maître