Un INSERT VALUES instruction insère toujours exactement 1 ligne. Si vous souhaitez insérer plusieurs lignes avec des valeurs codées en dur, l'approche la plus courante serait simplement d'exécuter deux INSERT distincts déclarations.
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
Si vous le vouliez vraiment, vous pourriez sélectionner vos valeurs codées en dur à partir de dual puis faites 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
Ou vous pouvez faire 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
Personnellement, je n'utiliserais que deux déclarations.
Bien que cela ne soit pas lié à votre question, quelques commentaires
- Toujours, répertoriez toujours les colonnes dans votre
insertdéclaration. Vous rendrez votre SQL beaucoup plus robuste de sorte que si vous ajoutez de nouvelles colonnes à l'avenir qui autorisentNULLvaleurs vos instructions fonctionneront toujours. Et vous éviterez de nombreux bugs lorsque la liste des colonnes est là plutôt que d'espérer que quelqu'un se souvienne de l'ordre des colonnes dans le tableau. - Si vous insérez une valeur dans une
datecolonne, utilisez une date et non un littéral de chaîne qui représente une date. S'appuyer sur la conversion implicite des types de données est une source de nombreux bogues. Utilisez unto_dateexplicite ou utilisez des littéraux de date ANSI. Et utilisez des années à 4 chiffres.