sql >> Database >  >> RDS >> Oracle

Meerdere rijen invoegen in Oracle

Vanuit prestatieoogpunt zijn deze zoekopdrachten identiek.

UNION ALL zal de prestaties niet schaden, aangezien Oracle schat de UNION 'ed query alleen wanneer het het nodig heeft, het slaat de resultaten niet eerst in de cache op.

SELECT syntaxis is flexibeler in die zin dat u de SELECT . gemakkelijker kunt manipuleren vraag of je iets wilt veranderen.

Bijvoorbeeld deze vraag:

insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
          select 8000,0,'Multi 8000',1 from dual
union all select 8001,0,'Multi 8001',1 from dual

kan worden herschreven als

INSERT
INTO    pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
SELECT  7999 + level, 0, 'Multi ' || 7999 + level, 1
FROM    dual
CONNECT BY
        level <= 2

Door 2 te vervangen met het juiste nummer kunt u elk gewenst aantal rijen krijgen.

In het geval van INSERT ALL , zou u de beschrijving van de bestemmingstabel moeten dupliceren, die minder leesbaar is als u bijvoorbeeld 40 nodig heeft rijen.



  1. Wat is de juiste index voor het opvragen van structuren in arrays in Postgres jsonb?

  2. Groovy SQL Oracle Array Functie/Procedure Uit Parameters Registratie

  3. Proactieve SQL Server-statuscontroles, deel 4:ERRORLOG

  4. Weken aftrekken van een datum in PostgreSQL