Un INSERT VALUES l'istruzione inserisce sempre esattamente 1 riga. Se desideri inserire più righe con valori codificati, l'approccio più comune sarebbe semplicemente eseguire due INSERT separati dichiarazioni.
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
Se lo desideri davvero, puoi selezionare i tuoi valori hardcoded da dual e quindi fai un 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
Oppure potresti fare un INSERT ALL
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
Personalmente, userei solo due affermazioni.
Anche se questo non è correlato alla tua domanda, un paio di commenti
- Sempre, elenca sempre le colonne nel tuo
insertdichiarazione. Renderai il tuo SQL molto più robusto in modo che se in futuro aggiungi nuove colonne che consentanoNULLvalori le tue affermazioni continueranno a funzionare. Ed eviterai molti bug quando l'elenco delle colonne è proprio lì invece di sperare che qualcuno ricordi l'ordine delle colonne nella tabella. - Se stai inserendo un valore in una
datecolonna, utilizzare una data non una stringa letterale che rappresenta una data. Affidarsi alla conversione implicita del tipo di dati è fonte di molti bug. Usa un esplicitoto_dateo usa i valori letterali di data ANSI. E usa anni a 4 cifre.