Een INSERT VALUES statement voegt altijd precies 1 rij in. Als u meerdere rijen met hardgecodeerde waarden wilt invoegen, is de meest gebruikelijke aanpak om twee afzonderlijke INSERT uit te voeren. verklaringen.
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
Als je echt zou willen, zou je je hard-coded waarden kunnen selecteren uit dual en doe dan een INSERT SELECT
insert into t1
select 131309, 'HP', '20-FEB-04',2000000,1235 from dual
union all
select 131310,'HT','20-APR-14',120020,1234 from dual
Of je zou een INSERT ALL . kunnen doen
insert all
into t1 values(131309,'HP','20-FEB-04',2000000,1235)
into t1 values(131310,'HT','20-APR-14',120020,1234)
select * from dual
Persoonlijk zou ik gewoon twee uitspraken gebruiken.
Hoewel dit geen verband houdt met uw vraag, een paar opmerkingen
- Maak altijd een lijst van de kolommen in uw
insertuitspraak. U maakt uw SQL veel robuuster, zodat als u in de toekomst nieuwe kolommen toevoegt dieNULLtoestaan waarden zullen uw uitspraken nog steeds werken. En je vermijdt veel bugs als de kolomlijst daar is, in plaats van te hopen dat iemand de volgorde van de kolommen in de tabel onthoudt. - Als je een waarde invoegt in een
datekolom, gebruik dan een datum en geen letterlijke tekenreeks die een datum vertegenwoordigt. Vertrouwen op impliciete conversie van gegevenstypes is een bron van veel bugs. Gebruik een explicieteto_dateof gebruik ANSI-datumletters. En gebruik 4-cijferige jaren.