INSERT VALUES instrukcja zawsze wstawia dokładnie 1 wiersz. Jeśli chcesz wstawić wiele wierszy z wartościami zakodowanymi na stałe, najczęstszym podejściem byłoby po prostu wykonanie dwóch oddzielnych INSERT oświadczenia.
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
Jeśli naprawdę chcesz, możesz wybrać swoje zakodowane na stałe wartości z dual a następnie wykonaj 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
Możesz też wykonać 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
Osobiście użyłbym tylko dwóch stwierdzeń.
Chociaż nie jest to związane z Twoim pytaniem, kilka komentarzy
- Zawsze zawsze wymieniaj kolumny we
insertoświadczenie. Sprawisz, że Twój SQL będzie znacznie bardziej niezawodny, więc jeśli w przyszłości dodasz nowe kolumny, które pozwolą naNULLwartości, Twoje oświadczenia będą nadal działać. I unikniesz wielu błędów, gdy lista kolumn jest tam, zamiast mieć nadzieję, że ktoś zapamięta kolejność kolumn w tabeli. - Jeśli wstawiasz wartość do
datekolumna, użyj daty, a nie literału ciągu, który reprezentuje datę. Poleganie na niejawnej konwersji typów danych jest źródłem wielu błędów. Użyj jawnegoto_datelub użyj literałów daty ANSI. I użyj 4-cyfrowych lat.