INSERT VALUES
câu lệnh luôn chèn chính xác 1 hàng. Nếu bạn muốn chèn nhiều hàng với các giá trị được mã hóa cứng, cách tiếp cận phổ biến nhất sẽ đơn giản là thực thi hai INSERT
riêng biệt tuyên bố.
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
Nếu bạn thực sự muốn, bạn có thể chọn các giá trị được mã hóa cứng của mình từ dual
và sau đó thực hiện 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
Hoặc bạn có thể thực hiện 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
Cá nhân tôi chỉ sử dụng hai câu lệnh.
Mặc dù điều này không liên quan đến câu hỏi của bạn, nhưng một vài nhận xét
- Luôn luôn, luôn liệt kê các cột trong
insert
của bạn bản tường trình. Bạn sẽ làm cho SQL của mình mạnh mẽ hơn nhiều để nếu bạn thêm các cột mới trong tương lai cho phépNULL
giá trị các câu lệnh của bạn sẽ vẫn hoạt động. Và bạn sẽ tránh được nhiều lỗi khi danh sách cột ở ngay đó thay vì hy vọng rằng ai đó nhớ thứ tự các cột trong bảng. - Nếu bạn đang chèn một giá trị vào một
date
, hãy sử dụng một ngày không phải là một chuỗi ký tự đại diện cho một ngày. Việc dựa vào chuyển đổi kiểu dữ liệu ngầm là nguồn gốc của nhiều lỗi. Sử dụngto_date
rõ ràng hoặc sử dụng các ký tự ngày ANSI. Và sử dụng năm 4 chữ số.