Un INSERT VALUES
declaración siempre inserta exactamente 1 fila. Si desea insertar varias filas con valores codificados, el enfoque más común sería simplemente ejecutar dos INSERT
separados declaraciones.
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
Si realmente quisiera, podría seleccionar sus valores codificados de dual
y luego haz 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
O podrías hacer 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, solo usaría dos declaraciones.
Aunque esto no está relacionado con su pregunta, un par de comentarios
- Siempre, enumere siempre las columnas en su
insert
declaración. Hará que su SQL sea mucho más robusto, de modo que si agrega nuevas columnas en el futuro que permitanNULL
valores, sus declaraciones seguirán funcionando. Y evitará muchos errores cuando la lista de columnas esté allí en lugar de esperar que alguien recuerde el orden de las columnas en la tabla. - Si está insertando un valor en una
date
columna, use una fecha, no un literal de cadena que represente una fecha. Confiar en la conversión implícita de tipos de datos es una fuente de muchos errores. Use unto_date
explícito o use literales de fecha ANSI. Y use años de 4 dígitos.